`
huangyongxing310
  • 浏览: 499117 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

数据库沉余实现方式

 
阅读更多
数据库沉余实现方式

canal
原理相对比较简单:
(1)canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
(2)mysql master收到dump请求,开始推送binary log给slave(也就是canal)
(3)canal解析binary log对象(原始为byte流)


基于日志增量订阅&消费支持的业务:
(1)数据库镜像
(2)数据库实时备份
(3)多级索引 (卖家和买家各自分库索引)
(4)search build
(5)业务cache刷新
(6)价格变化等重要业务消息



Canal 高可用
Canal 服务端中的实例可以配置一个备用 MySQL,从而能够在双 Master 场景下自动选择正在工作的数据源。注意两台主库都需要打开 log_slave_updates 选项。Canal 会使用自己的心跳机制(定期更新辅助表的记录)来检测主库的存活。
Canal 自身也有 HA 配置,配合 Zookeeper,我们可以开启多个 Canal 服务端,当某台服务器宕机时,客户端可以从 ZK 中获取新的服务端地址,继续进行消费。更多信息可以参考 Canal AdminGuide。

https://blog.csdn.net/zjerryj/article/details/77152226(使用 Binlog 和 Canal 从 MySQL 抽取数据)


Ottter是由阿里爸爸开源的一个数据同步产品,它的最初的目的是为了解决跨国异地机房双A架构,两边可写的场景,



http://www.cnblogs.com/zhangtianshi/articles/9140231.html(使用canal通过mysql的binlog日志对mysql进行监控)

http://agapple.iteye.com/blog/1796633(关于使用Binlog和canal来对MySQL的数据写入进行监控)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics