前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >canbus速率_erie canal

canbus速率_erie canal

作者头像
全栈程序员站长
发布2022-09-20 15:13:08
3830
发布2022-09-20 15:13:08
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

Databus和canal都能够提供实时从数据库获取变更,并提供给下游的实时消费流的功能。

本文针对两个系统实现和应用上的不同点,做了一个简单的对比:

对比项

Databus

canal

结论

支持的数据库

mysql, oracle

mysql(据说内部版本支持oracle)

Databus目前支持的数据源更多

业务开发

业务只需要实现事件处理接口

事件处理外,需要处理ack/rollback, 反序列化异常等

Databus开发接口用户友好度更高

服务模型

relay

relay可以同时服务多个client

一个server instance只能服务一个client (受限于server端保存拉取位点)

Databus服务模式更灵活

client

client可以拉取多个relay的变更, 访问的relay可以指定拉取某些表某些分片的变更

client只能从一个server拉取变更, 而且只能是拉取全量的变更

可扩展性

client可以线性扩展,处理能力也能线性扩展 (Databus可识别pk,自动做数据分片)

client无法扩展

Databus扩展性更好

可用性

client ha

client支持cluster模式,每个client处理一部分数据, 某个client挂掉,其他client自动接管对应分片数据

主备client模式,主client消费, 如果主client挂掉,备client可自动接管

Databus实时热备方案更成熟

relay/server ha

多个relay可连接到同一个数据库, client可以配置多个relay,relay故障启动切换

主备relay模式,relay通过zk进行failover

canal主备模式对数据库影响更小

故障对上游 数据库的影响

client故障,bootstrap会继续拉取变更, client恢复后直接从bootstrap拉取历史变更

client故障会阻塞server拉取变更, client恢复会导致server瞬时从数据库拉取大量变更

Databus本身的故障对数据库影响几乎为0

系统状态监控

程序通过http接口将运行状态暴露给外部

暂无

Databus程序可监控性更好

开发语言

java,核心代码16w,测试代码6w

java,4.2w核心代码,6k测试代码

Databus项目更成熟,当然学习成本也更大

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/167187.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档