昨天,和大家讨论了无线APP时代如何进行日志上报优化【回复“日志”阅读】,今天和大家一起讨论一下如何巧妙测量服务器之间的时间差。
缘起:无绝对时钟
Fischer Lynch Paterson定理是分布式理论中非常重要的一个定理,其结论相当悲观:在一个多进程异步系统中,由于没有全局绝对时钟,一定不存在一个一致的消息投递协议。
工程折衷:单点序列化
每个进程,每台服务器都有自己的本地时钟,跨服务器的本地时钟比较是没有意义的,这一点很好理解,服务器A上的本地时间ta=1,服务器B上的本地时间tb=2,虽然ta
工程上,可以使用一台单点服务器来分发序列号,或者使用这台单点服务器来进行序列化,来模拟全局时钟。
问题的提出:既然两台服务器的本地时间存在差值,如何来测量两台服务器之间的时间差呢?
答案是,发包测量。
发包流程如上图:
1)服务器A记录一个本地时
继续阅读与本文标签相同的文章
上一篇 :
无线APP日志上报优化实践
下一篇 :
好架构是进化来的,不是设计来的(58架构演进)
-
主从DB与cache一致性
2026-05-20栏目: 教程
-
缓存与数据库一致性保证
2026-05-20栏目: 教程
-
缓存架构设计细节二三事
2026-05-20栏目: 教程
-
30秒懂SQL中的join(2幅图+30秒)
2026-05-20栏目: 教程
-
一分钟了解mongoDB(HR都懂了)
2026-05-20栏目: 教程
