databus概述

概述

Databus 是 LinkedIn 开源的一款低延迟的分布式数据库同步系统(a source-agnostic distributed change data capture system),它提供可靠的数据捕获、流转和数据处理功能。针对这些功能,有以下几个特性:

  • 隔离性 (隔离数据源和消费端);
  • 高可用性 (保证有秩序的且至少一次数据传递);
  • 数据完整性 (在任意的时间点的数据变化有完整的数据引导和回溯能力);
  • 一致性 (源一致性保存);
  • 分区消费

技术架构

Databus Relays

  • 从数据源中读取变化的数据,并且将这些数据序列化保存在内存中;
  • 监听client的请求(包括bootstrap client),且返回数据变化的事件给client(包括bootstrap client);
  • 详细参考(02-Databus Relays)

Databus Clients

  • 通过Databus Relays restful 服务,检查新的数据变化事件,并处理业务逻辑(如同步数据、保存入缓存服务等);
  • 如果与relays的连接断开时间太长(SCN号差别大),会向bootstrap server发送一个查询请求;
  • 新的客户端向bootstrap server查询之后,切换到relays获取最近的数据变化事件;
  • 客户端可以单独的部署处理所有的databus relays事件,也可以主从部署,每个消费端只消费一部分事件;
  • 详细参考(03-Databus Clients)

Databus Bootstrap Servers

  • 监听databus clients的请求,并返回回溯数据变化事件,用于数据引导和数据追赶;
  • 详细参考(04-Databus Bootstrap)

Databus Bootstrap Producers

  • 一个特殊的客户端;
  • 检查Databus Relays上的数据变化事件;
  • 将检查到的数据变化时间保存至 mysql 数据库;
  • Mysql 数据库用于 Clients 引导和回溯数据

猜你喜欢

转载自blog.csdn.net/du_minchao/article/details/68928073