「星星许愿池」实现方案

需求概括: 每轮许愿时间为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 组件化开发 模块化?组件化?插件化? 组件化和模块化 百度百科对组件化的解释: 解耦复杂系统时将多个功能模块拆分、重组的过程,有多种属性、状态反映其内部特性。 定义 组件化是一种高效的处理复杂应用系统,更好的明确功能模块作用的方式。 目的 »

中华万年历客户端埋点方案解析

前言 孔雀系统SDK是我们客户端埋点SDK的前身。在最开始设计时,孔雀系统主要是为应用提供各种样式的广告展示及广告的view、click等事件的统计。广告样式包括:开屏广告、提醒弹窗、回退弹窗广告、通用广告等,和现在第三方的广告SDK类似(banner、插屏、开屏、原生等), »