关于java:踩坑记录mysql-数据同步踩坑

1次阅读

共计 462 个字符,预计需要花费 2 分钟才能阅读完成。

一、背景

prod 环境应用了 maxwell 进行数据同步,maxwell 监听主库的 binlog,而后将变动数据推送到 kafka,由程序接管解决,调用流程如下:

二、造成起因

data-sync 服务中,mysql 的链接信息如下:

spring.datasource.dynamic.datasource.master.url = jdbc:mysql:replication://192.168.1.130:3306,192.168.1.47:3306/ehp?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=Asia/

其中,1.130 是主库,1.47 是从库

replication 协定会将局部读申请调配到从库中,如果此时从库的数据还未实现同步,会导致业务程序查不到数据

三、解决办法

能够应用以下三种搭配形式:

  • 监听主库的 binlog,主库中查问数据
  • 监听从库的 binlog,从库中查问数据
  • 监听从库的 binlog,主库中查问数据
正文完
 0