在Twitter,他们使用复制日志来解决分布式系统中存在的一系列问题。比如,他们有一个Manhattan分布式键值数据库。该系统采用了一种灵活的最终一致性数据模型,允许开发者以一致性换取低延迟。写入操作会单独应用到数据集的所有副本,Manhattan会保证各个副本的数据最终一致。但是,应用程序在查询一个刚刚更新过的数据集时可能会因为读取的副本不同而获取到不同的数据。为了防止这种不一致的情况,他们必须针对每个副本以同样的顺序应用所有更新。日志(一个严格有序的操作记录)是实现序列化更新的一种简单方式。在Twitter,还有其它有类似情况的应用程序需要某种日志服务基础设施。于是,他们构建了DistributedLog,一个高性能的"复制日志(replicated log)"服务。近日,Twitter消息团队高级软件工程师Leigh Stewart撰文分享了他们构建该服务的经验。
Read full article from Twitter是如何构建高性能分布式日志的
No comments:
Post a Comment