databus mysql搭建_【databus】初识Databus

databus mysql搭建_【databus】初识Databus1.简介Databus是一个低延迟、可靠的、支持事务的、保持一致性的数据变更抓取系统。由LinkedIn于2013年开源。Databus通过挖掘数据库日志的方式,将数据库变更实时、可靠的从数据库拉取出来,业务可以通过定制化client实时获取变更并进行其他业务逻辑。Databus有以下特点:数据源和消费者之间的隔离。数据传输能保证顺序性和至少一次交付的高可用性。从变化流的任意时间点进行消费,包括…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1. 简介

Databus是一个低延迟、可靠的、支持事务的、保持一致性的数据变更抓取系统。由LinkedIn于2013年开源。Databus通过挖掘数据库日志的方式,将数据库变更实时、可靠的从数据库拉取出来,业务可以通过定制化client实时获取变更并进行其他业务逻辑。

Databus有以下特点:

数据源和消费者之间的隔离。

数据传输能保证顺序性和至少一次交付的高可用性。

从变化流的任意时间点进行消费,包括通过bootstrap获取所有数据。

分区消费

源一致性保存,消费不成功会一直消费直到消费成功

2. 功能&特性

来源独立:Databus支持多种数据来源的变更抓取,包括Oracle和MySQL。

可扩展、高度可用:Databus能扩展到支持数千消费者和事务数据来源,同时保持高度可用性。

事务按序提交:Databus能保持来源数据库中的事务完整性,并按照事务分组和来源的提交顺寻交付变更事件。

低延迟、支持多种订阅机制:数据源变更完成后,Databus能在毫秒级内将事务提交给消费者。同时,消费者使用Databus中的服务器端过滤功能,可以只获取自己需要的特定数据。

无限回溯:对消费者支持无限回溯能力,例如当消费者需要产生数据的完整拷贝时,它不会对数据库产生任何额外负担。当消费者的数据大大落后于来源数据库时,也可以使用该功能。

3. 使用场景举例

BUSSINESS1 和 BUSSINESS2 是两个不同的业务逻辑,他们的变更需要同时写入到 DB 和 CACHE ,那么当他们同时修改同一个数据的时候是否能保证数据的一致性呢?可以发现如果按照下图标明的顺序进行操作并不能保证数据的一致性!

7f18068ac46cbc4847635839678d3a19.png

还有一个问题是变更完DB之后,更新CACHE失败怎么办?如果忽略的话,会造成后续读取到CACHE中旧的数据,如果重试的话,业务代码会写得更加复杂。针对这些场景,如果没有一个强一致协议是很难解决掉的。如果要业务逻辑去实现这些晦涩的一致性协议,却又是不现实的。

现在,有了Databus,上面提到的这些一致性问题就都没有了,并且那些冗长的双写逻辑也可以去掉了,如下图所示:

d3cada9170e3d3ab46796b7b87ebe415.png

4. 系统整体架构与主要组件

4.1 系统整体架构

cf7a0ae6b32858de37944fce06ac8516.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略

    Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略Dataset之COCO数据集:COCO数据集的简介、安装、使用方法之详细攻略目录COCO数据集的简介0、COCO数据集的80个类别—YoloV3算法采用的数据集1、COCO数据集的意义2、COCO数据集的特点3、数据集的大小和版本COCO数据集的下载1、2014年数据集的下载2、2017的数据集的下载COCO数据集的使用方法1、基础用…

    2022年10月17日
    2
  • 华为交换机配置不同vlan不同网段互通[通俗易懂]

    华为交换机配置不同vlan不同网段互通[通俗易懂]在一台交换机中实现不同vlan不同网段相互通信Pc1:Pc2:Sw1:<Huawei>system-view1、创建vlan[Huawei]vlan2[Huawei-vlan2]quit[Huawei]vlan3[Huawei-vlan3]quit2、进入接口配置[Huawei]interfaceGigabitEthernet0/0/1[Huaw…

    2025年9月7日
    13
  • 异步处理FutureTask实例「建议收藏」

    异步处理FutureTask实例「建议收藏」   在Web应用前端,AJAX有同步和异步处理,异步可以避免阻塞。在WEB后端一般业务应用大多为同步处理,但也有一些需要异步处理的场合,比如A系统调B系统接口I,但B系统处理时间很长,这时,A系统主线程不能一直阻塞等待,可以使用异步处理。即先调用接口I,随即做后面的处理,等B系统返回值时再进行返回后处理。时序为:A:invokeIA:dootherthingB:处理完成,…

    2022年6月17日
    25
  • linux查看java服务启动情况_centos查看系统时间命令

    linux查看java服务启动情况_centos查看系统时间命令linux查看java进程启动的时间

    2022年8月24日
    13
  • C++封装、继承、多态

    C++封装、继承、多态C 封装继承多态总结面向对象的三个基本特征面向对象的三个基本特征是 封装 继承 多态 其中 封装可以隐藏实现细节 使得代码模块化 继承可以扩展已存在的代码模块 类 它们的目的都是为了 代码重用 而多态则是为了实现另一个目的 接口重用 封装

    2025年10月26日
    6
  • servlet和jsp的区别_获取servletcontext

    servlet和jsp的区别_获取servletcontext关于serveletContext.getRealPath()方法1.关于request.getRealPath问题:Stringfilename=request.getRealPath(filename)——————-信息:warning:[deprecation]getRealPath(java.lang.String)in

    2022年9月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号