背景
一个大型分布式系统往往存在多种的存储系统,mysql,tair,redis,memcache,hbase等等。一些重要的或者需要事务支持的数据操作,通常都会放到mysql处理。但是,为了满足高性能的访问需求或者做一些服务定制化的查询,业务上通常又会把mysql的数据再写到tair或者redis等外部存储中一份。
以业务将tair作为mysql的高速缓存为例,通常业务在代码中会有这么一段逻辑,读取tair,数据不存在,从mysql读取数据,然后写入tair。用户变更mysql,然后会同时刷新tair,或者将tair数据删除。为了降低客户端复杂度并且防止缓存穿透,常会引入MQ进行异步同步,如下图所示:
image.png
但是无论客户端同步方式还是MQ方式,其实都会存在数据一致性问题,这些场景,如果没有一个强一致协议(比如两阶段提交,paxos等)是很难解决掉的。
现在,有了Databus,上面提

Databus是一个实时、可靠、事务一致的数据变更抓取系统,用于解决分布式系统中数据同步的一致性问题。它通过数据库日志挖掘,将变更事件实时传递给消费者,支持多种数据来源如Oracle和MySQL,提供低延迟、无限回溯和事务按序提交等功能。Databus在LinkedIn中应用于社会化图谱索引、人员搜索索引和用户档案数据等场景。
最低0.47元/天 解锁文章
3160

被折叠的 条评论
为什么被折叠?



