Canal
canal可以用来监控数据库数据的变化,从而获得新增数据,或者修改数据
canal是应阿里巴巴存在杭州和美国的双机房部署,存在跨机房同步的业务需求而提出的
Canal工作原理
原理很简单:
1、canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
2、mysql master收到dump请求,开始推送binary log(日志)给canal
3、canal解析binary log对象
mysql需要开启binlog模式
docker容器需要安装canal容器,里面有很多需要配置的ip
达到的效果就是:
当修改mysql数据库的时候,redis中会立刻重新刷新 新的数据,但是NGINX不会更新数据,需要将NGINX停止之后再启动,就可以读取redis中的数据