阿里开源的MySQL 数据库增量日志解析,提供增量数据订阅和消费。
|
|
%!s(int64=8) %!d(string=hai) anos | |
|---|---|---|
| client | %!s(int64=8) %!d(string=hai) anos | |
| common | %!s(int64=8) %!d(string=hai) anos | |
| dbsync | %!s(int64=8) %!d(string=hai) anos | |
| deployer | %!s(int64=8) %!d(string=hai) anos | |
| driver | %!s(int64=8) %!d(string=hai) anos | |
| example | %!s(int64=8) %!d(string=hai) anos | |
| filter | %!s(int64=8) %!d(string=hai) anos | |
| instance | %!s(int64=8) %!d(string=hai) anos | |
| meta | %!s(int64=8) %!d(string=hai) anos | |
| parse | %!s(int64=8) %!d(string=hai) anos | |
| protocol | %!s(int64=8) %!d(string=hai) anos | |
| server | %!s(int64=8) %!d(string=hai) anos | |
| sink | %!s(int64=8) %!d(string=hai) anos | |
| store | %!s(int64=8) %!d(string=hai) anos | |
| .gitignore | %!s(int64=9) %!d(string=hai) anos | |
| LICENSE.txt | %!s(int64=11) %!d(string=hai) anos | |
| README.md | %!s(int64=9) %!d(string=hai) anos | |
| RELEASE.txt | %!s(int64=11) %!d(string=hai) anos | |
| codeformat.xml | %!s(int64=10) %!d(string=hai) anos | |
| codetemplates.xml | %!s(int64=10) %!d(string=hai) anos | |
| pom.xml | %!s(int64=8) %!d(string=hai) anos |
<div class="iteye-blog-content-contain">
早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此开启了一段新纪元。
ps. 目前内部版本已经支持mysql和oracle部分版本的日志解析,当前的canal开源版本支持5.7及以下的版本(阿里内部mysql 5.7.13, 5.6.10, mysql 5.5.18和5.1.40/48)
基于日志增量订阅&消费支持的业务:
名称:canal [kə'næl]
译意: 水道/管道/沟渠
语言: 纯java开发
定位: 基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了mysql
关键词: mysql binlog parser / real-time / queue&topic
原理相对比较简单:
See the wiki page for : wiki文档