开发者社区> 问答> 正文

[@项籍][¥20]springboot连接canal,启动监听; 当主库数据库日志变化太快,就无法同步了

111
canal部署到服务,然后springboot工程启动服务,通过event监听canal事件; 主库发生变化,就有binlog日志过来; 然后通过程序写入到Elasticsearch; 目前没有用mq或kafka,不知道在什么地方用合适;
现在的问题,如果主库跑定时任务,涉及到一个大表1亿数据量的变化; 会产生大量的binlog日志; 这时候监听就反应不过来了;详细请见图片; 目前是监听收到binlog日志后;只处理需要更新到es的表; 但是因为binlog日志过来量太大; 所以就无法监听处理了; 请大神帮忙看下; 谢谢!

展开
收起
财联邦 2018-11-22 16:22:50 6762 0
2 条回答
写回答
取消 提交回答
  • 好的 谢谢; 能说下porducter route到一个partition解决 具体怎么弄吗? 谢谢专家了

    2019-07-17 23:15:59
    赞同 展开评论 打赏
  • 多年互联网开发经验,从事业务开发、平台开发、架构设计、云计算、APM等领域。目前专注于供应链方向的解决方案治理和服务交易域
    1. consumer消费速度下降会造成canal sink堵塞引发“无法”监听处理
    2. 大规模数据变更,需要考虑考虑提高下游的并发能力,提升吞吐量
    3. 针对下游能力有瓶颈时,可以引入canal+kafka的模式,基于kafka做一下中间缓存,引入更多的客户端进行并发处理来提升性能
      4.如果对于消息顺序有强烈需求,可以通过producter route到一个partition解决乱序问题

    1.canal消费速度变慢,会造成sink卡住,引发“无法”消费

    1. 大规模数据变更,需要考虑考虑提高下游的并发能力,提升吞吐量
    2. 针对下游能力有瓶颈时,可以引入canal+kafka的模式,基于kafka做一下中间缓存,引入更多的客户端进行并发处理来提升性能
      4.如果对于消息顺序有要求可以考虑porducter route到一个partition解决
    2019-07-17 23:15:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载