干货!如何实现一个分布式定时器( 四 )


6.8 其他风险项1.由于time_pointer的CurrentTime初始值置为首次运行的Daemon实例的机器时间,而每次轮询时都会对比当前Daemon实例的机器时间与CurrentTime的差别,故机器时间出错可能会影响任务的正常调度 。这里考虑到现网机器均有时间校正脚本在跑,这个问题基本可以忽略 。
2.本系统的架构对事件中心构成了强依赖 。定时器的可用性和可靠性依赖于事件中心的可用性和可靠性 。虽然目前事件中心的可用性和可靠性都非常高,但如果要考虑所有异常情况,则事件中心的短暂不可用、或者对于订阅者消息出队的延迟和堆积,都是需要正视的问题 。一个解决方案是使用MQ做双链路的消息投递,解决对于事件中心单点依赖的问题 。
结语这里的定时器服务目前仅用于支持境外的定时器需求,调用量级尚不大,已可满足业务基本要求 。如果要支撑更高的任务量级,还需要做更多的思考和优化 。随时欢迎大家和和我交流探讨 。

【干货!如何实现一个分布式定时器】


推荐阅读