分布式事务SEATA的介绍与实践

事务ACID原则 原子性:事务中的所有操作,要么全部成功,要么全部失败 一致性:要保证数据库内部完整性约束、声明性约束 隔离性:对同一资源操作的事务不能同时发生 持久性:对数据库做的一切修改将永久保存,不管是否出现故障 一、理论基础 1)CAP理论 1998年,加州大学的计算机科 »

「星星许愿池」实现方案

需求概括: 每轮许愿时间为30s,投注期间用户可选择许愿池投注,同时展示投注动效,在线人数以及当前在线用户投注情况需实时更新。30s投注结束后,展示中奖动画,以及返幸运币动画,此期间不可投注。完成之后,开启下一轮。 技术选型 该活动的重点是页面数据需要实时刷新,之前 »

记线上Dubbo调用异常排查处理

一、简单介绍 suishen-esb中,提供了Dubbo对Hystrix的集成; Hystrix内部使用了线程池完成具体的任务执行; 每一个远程service使用独立的线程池; 内部封装中,线程池的核心线程数和最大线程数默认为30,等待队列使用SynchronousQueue(不 »

tcpkill介绍,一个主动清理tcp连接的工具

背景 我们常用的redis、mysql、mongodb等服务,因为client程序使用异常,如果连接数监控没做好且没及时处理的情况下,server连接数就容易被打满; server连接数被打满的情况下,client就不能新建连接; 对于短连接client,会影响新建连接,业务 »

Swift防御编程

1、背景 我们在代码设计和编写过程中,要尽可能的确保自己的代码不出错,防御性编程能使我们尽早的发现较小问题,而不是等到客户反馈或者收到异常崩溃的时候才发现。 作为开发人员,几乎没有人能保证自己的程序一定没有bug,所以适度的防御会提高开发质量并且降低调试bug的时间。 防御编码的 »

记线上MONGO慢查询问题排查处理

一、简单介绍 mongo语句查询条件中出现null或空串,可能会导致索引失效,查询优化器无法选择正确的查询计划,出现慢查询引起服务异常 mongo查询的执行计划使用了LRU缓存,在很多种情况下会失效,导致重新选择执行计划并缓存,供后续同类查询直接使用; 服务开始时一直运行正常,当 »

IOS触摸事件的分发和响应链(二)

事件的响应链(The Responder Chain) 响应者对象(The Responder Object) 响应者链由响应者对象组成,响应者对象都是UIResponder的子类。 许多类型的事件依赖于用于事件传递的响应者链。响应者链是一系列链接的响应者对象,它从第一个响应者( »

Android组件化开发

Android 组件化开发 模块化?组件化?插件化? 组件化和模块化 百度百科对组件化的解释: 解耦复杂系统时将多个功能模块拆分、重组的过程,有多种属性、状态反映其内部特性。 定义 组件化是一种高效的处理复杂应用系统,更好的明确功能模块作用的方式。 目的 »