1.otter原理:
基于資料庫增量日志解析,準實時同步到本機房或異地機房的mysql/oracle資料庫. 一個分布式資料庫同步系統
原理描述:
1. 基于Canal開源産品,擷取資料庫增量日志資料。
2. 典型管理系統架構,manager(web管理)+node(工作節點)
a. manager運作時推送同步配置到node節點
b. node節點将同步狀态回報到manager上
3. 基于zookeeper,解決分布式狀态排程的,允許多node節點之間協同工作.
2.canal原理
- canal模拟mysql slave的互動協定,僞裝自己為mysql slave,向mysql master發送dump協定
- mysql master收到dump請求,開始推送binary log給slave(也就是canal)
- canal解析binary log對象(原始為byte流。
3.mysql主備複制實作:
從上層來看,複制分成三步:
- master将改變記錄到二進制日志(binary log)中(這些記錄叫做二進制日志事件,binary log events,可以通過show binlog events進行檢視);
- slave将master的binary log events拷貝到它的中繼日志(relay log);
- slave重做中繼日志中的事件,将改變反映它自己的資料。