1.实时同步

对强一致性要求比较高的,应采用同步方案,即查询缓存查询不到再从DB查询,保存到缓存;
更新缓存时,先更新数据库,再将缓存的设置过期

2.非实时同步(异步队列)

对并发程序较高的,可采用Kafka等消息中间件处理生产和消费
异步队列:
流量削峰
中间件:解决方案

3.使用阿里的同步工具canal

canal的工作原理:
image.png

  • canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
  • mysql master收到dump请求,开始推送binary log给slave(也就是canal)
  • canal解析binary log对象(原始为byte流)

    4.采用udf自定义函数的方式