场景:在微服务开发的过程中多个项目协同完成一个功能,工程与工程之间存在数据上的解耦 ,底层服务为上层服务提供数据

  而底层服务有需要对数据进行管理 。

解决方案:基本底层服务 通过 canal   获取 mysql 数据 的变更状态 ,发送到 Kafka ,上层业务由 消费者来消费 。

配置 canal  遇到的问题: 

show master status' has an error! pls check. you need (at least one of) the SUPER,REPLICATION CL

解决方案:

   

GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';  
FLUSH PRIVILEGES; 

 

mysql  配置文件修改:

log_bin = mysql-bin
binlog_format = ROW

   注意加上如下的配置后 还要为master 节点加入一个 service _id 否则启动Mysql 服务启动不了

server-id = 1

 

GitHub 加速计划 / ca / canal
44
10
下载
alibaba/canal: Canal 是由阿里巴巴开源的分布式数据库同步系统,主要用于实现MySQL数据库的日志解析和实时增量数据订阅与消费,广泛应用于数据库变更消息的捕获、数据迁移、缓存更新等场景。
最近提交(Master分支:1 个月前 )
af937544 - 2 个月前
9f2fc740 - 2 个月前
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐