开发者社区 > 云原生 > 容器服务 > 正文

在服务网格ASM中,连通后抓binlog不行是为什么?

我们在ack里面启用了asm网格,40多个pod都正常,就只有canal组件异常,它和3306能连通,但后续抓binlog数据就不行了。把canal组件的sidecar去掉后,则完全正常。想问问有没有大佬指导下,是为什么?或者提供点定位的思路?

展开
收起
崔问问 2023-10-30 16:21:52 43 0
2 条回答
写回答
取消 提交回答
  • 这个问题可能与Canal组件在内存中缓存消息的方式有关。Canal在内存中缓存消息并不会对数据进行持久化,如果一直不提交确认ACK,可能会导致内存缓存被占满。另一方面,问题也可能出在Canal的配置文件上,需要检查canal.properties和instance.properties文件,确保配置正确。此外,还需要确认Canal Client是否成功连接到Canal,并且Canal是否获得了正确的权限来监听MySQL的binlog日志。

    对于Canal如何捕获数据库日志数据并进行解析的过程,你可以参考阿里巴巴开发的这个数据实时同步框架。Canal通过捕获MySQL的binlog日志(二进制日志)进行解析,然后将解析后的数据发送到目标端,如Kafka消息队列。

    2023-10-31 16:08:33
    赞同 展开评论 打赏
  • 非HTTP协议bypass掉sidecar。
    此回答整理自钉群:[外]服务网格ASM用户交流群

    2023-10-30 16:42:31
    赞同 展开评论 打赏

国内唯一 Forrester 公共云容器平台领导者象限。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载