深入解析中间件之-Canal

本文深入探讨了Canal的使用技巧,包括如何通过配置监控特定的数据库表更新,以及NIO与Netty在网络编程中的应用。文章还介绍了Tomcat的管理接口配置,并提供了Perl正则表达式的实例,用于精确匹配数据源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

深入解析中间件之-Canal:https://juejin.im/entry/59f15508f265da4321534371

NIO与netty: https://juejin.im/post/5bdaf8ea6fb9a0227b02275a
otter 与cannalhttps://blog.youkuaiyun.com/liupeifeng3514/article/details/79687130

查看tomcat的nio还是bio 还是apr

manager-gui 

允许访问html接口(即URL路径为/manager/html/*) 

manager-script 

允许访问纯文本接口(即URL路径为/manager/text/*) 

manager-jmx 

允许访问JMX代理接口(即URL路径为/manager/jmxproxy/*) 

manager-status 

允许访问Tomcat只读状态页面(即URL路径为/manager/status/*) 

canal监控指定表、库

# table regex 设置白名单,如果在instance.properties配置文件中进行该项配置,则在代码中不应该再配置
# connector.subscribe(".*\\..*");,如果还在代码中配置,则配置文件将会失效!!!
canal.instance.filter.regex = .*\\..*
# table black regex 设置黑名单
canal.instance.filter.black.regex =
 
所以当你只关心部分库表更新时,设置了canal.instance.filter.regex,一定不要在客户端调用CanalConnector.subscribe(".*\\..*"),不然等于没设置canal.instance.filter.regex。

如果一定要调用CanalConnector.subscribe(".*\\..*"),那么可以设置instance.properties的canal.instance.filter.black.regex参数添加黑名单,过滤非关注库表。

========================================================

mysql 数据解析关注的表,Perl正则表达式.多个正则之间以逗号(,)分隔,转义符需要双斜杠(\\) 
常见例子:
1. 所有表:.* or .*\\..*
2. canal schema下所有表: canal\\..*
3. canal下的以canal打头的表:canal\\.canal.*
4. canal schema下的一张表:canal.test1
5. 多个规则组合使用:canal\\..*,mysql.test1,mysql.test2 (逗号分隔)
注意:此过滤条件只针对row模式的数据有效(ps. mixed/statement因为不解析sql,所以无法准确提取tableName进行过滤)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值