databus概述
2017-03-31 18:12
85 查看
概述
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 引导和回溯数据
相关文章推荐
- 内网服务器通过CCproxy代理上网(…
- linux用户新增
- docker集群之mysql
- Java中对Clone的理解
- docker启动错误情况一
- docker容器iptables failed:&…
- 461. Hamming Distance
- redis删除hash中特定key
- Tomcat在RedHat Linux上的安装与配…
- docker下服务器时间同步
- docker搭建私有仓库
- C++中的函数重载中为什么不考虑返回值类型?
- nginx学习
- CENTOS7 防火墙问题
- 通过取父级for循环的i来理解闭包,iife,匿名函数
- javaMelody插件简单配置
- JDK 1.7安装简谈
- 代码的一些限制
- python学习
- pom.xml详解