`
tailorcai
  • 浏览: 91802 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Tungsten Replicator解决异构数据同步的需求

阅读更多
从发现Tungsten Replicator到线上部署,历时4个月。中间也遇到了很多困难,不过在同事的大力配合下,CDC项目(内部名称)已经替代老的事件通知系统,成为网站内部数据更新的重要组成部分。每天处理的数据更新条目数超过200W。

传统的使用Tungsten,是把它作为DB Replication的一部分。但是在互联网架构中,异构数据系统之间如何保持数据的一致性,是架构师面临的普遍挑战。这样的系统在网站里面很多,像检索系统,缓存系统等等。

据说一些网站也在开发类似的技术。因为,以DB为中心的设计思路,决定了业务逻辑严格执行数据“入库为安”的思路。能够写入DB就是成功,写不进去就是失败。这样的策略,以及系统运行的不可靠,决定了在页面逻辑中实现数据的一致性的做法,本身就带有太多的不稳定因素:毕竟,你一般不会把写DB和清Cache捆绑成一个事务吧?

我们被类似的问题困扰了很久,尤其是涉及到一些商业的需求,数据的一致性非常重要。因此,我们基于Tungsten Replicator,开发了一个插件,能够将MySQL的数据更新,同步到队列中,由后端的逻辑实现进一步的数据同步操作。

队列,依然采用kestrel。它的高效,支持可靠获取以及子队列,非常适合这种需求。

附上系统架构图吧。。。
  • 大小: 32.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics