阿里开源mysql监听_# C#基于阿里canal监听mysql binlog kafka模式

本文介绍了如何利用C#结合阿里开源的canal监听MySQL binlog,并将变更事件通过Kafka进行传输,用于实现数据库与缓存的高一致性。主要步骤包括配置canal监听、启动监听服务以及Kafka消费者处理binlog消息。
摘要由CSDN通过智能技术生成

C#基于阿里canal监听mysql binlog kafka模式

前言

没接触过java spring cloud之前对aop的概念很薄弱,基于c#的通常都是微软封装好的filter类,进而实现就好。很早之前就想做个缓存框架,之前的redis缓存都是通过判断有没有缓存进而插入和更新,大量的重复代码,缓存利用率不高。真正自己设计的时候,发现在高一致模式下同步是个问题,高一致即数据库表与缓存保持一致。幸好,发现了阿里开源的canal正好满足需求。正所谓技术大多数服务于业务场景,本文就是C#基于阿里canal监听mysql binlog kafka模式实现binlog的组件化。

符合的业务场景有

监听某张表进行监听,进行推送,如发现订单,推送到各个系统【微服务体系下,如果有订单中心就不存在这个事】

redis缓存的高一致性模式,即数据库表与缓存保持一致

进行监听

在startup ConfigureServices中配置

services.AddBinlog(options =>

{

options.SubTableList = new List() {

"库名.表名"

//"zcy-test"//监听的表名 库名由于多环境不一致需要配置..

};

//options.CanalDestination = _config.Get("CanalDestination");//问DBA 要 Canal名称

//options.CanalHost = _config.Get("CanalHost");//问DBA

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值