Canal
文章平均质量分 84
canal,译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。本节记录一下一些实践案例。
子涵先生
码山有道:所有工作都有方法论的支撑……
互联网渣渣架构师,拥有一定的极客精神,注重底层原理与实践相结合,致力于输出高质量的博客内容,好玩!有料!!
展开
-
再聊canal的FlatMessage和事务之间的关系
不同事务的FlatMessage的id可能是不同的,而相同id的FlatMessage不一定来自同一个事务。类比到日记本的例子中,FlatMessage的id就像是日记本中写满纸张的页码。原创 2023-11-11 21:33:22 · 351 阅读 · 0 评论 -
CanalClient:认识Message和FlatMessage
概念与总结Message和FlatMessage什么区别?Message和FlatMessage都有各自对应的Handler。FlatMessage在网络中传播过程中是一个json;而Message比较接近字节码数据,传输效率高,但需要反序列化;public class Message implements Serializable { private static final long serialVersionUID = 1234034768477580009L; priv原创 2021-10-27 10:21:25 · 2626 阅读 · 0 评论 -
接过火炬,升级canal-client-springboot-starter,一个支持rabbitmq的CanalClient
探索之路升级canal.client支持rabbitmqcanal-client-springboot-starter引用jar包canal-client升级1.1.5。<dependency> <groupId>com.alibaba.otter</groupId> <artifactId>canal.client</artifactId> <version>${canal-client.version}原创 2021-10-26 15:50:55 · 1364 阅读 · 0 评论 -
CanalClient卡死宿主服务原因分析
文章目录背景说明GC日志canal Server日志jstack查看dump日志解决方案临时解决方案:最终解决方案:背景说明数据库进行大批量数据更新的时候,会导致集成Canal client所在的服务无响应。首先,大批量的数据更新一定是会超过单个节点的负载能力的;但是,我们此篇就是要分析一下到底是什么地方导致了服务无响应的问题。首先先查看了CPU、内存信息,没有问题。当时怀疑了两个点:线程死锁;GC时间太长。GC日志查看进程的GC状态,也没有问题。[root@localhost zhe原创 2021-10-15 13:44:15 · 1065 阅读 · 0 评论