databus 支持oracle么,Databus[通俗易懂]

databus 支持oracle么,Databus[通俗易懂]系统如果要应付大规模的请求,一条必经之路就是数据库的分割,单服务器的性能早晚都会成为负载的短板。而数据库分割,通常有Master/Salve或者集群Cluster的方式,这些方式通常都是基于同种类型的数据。对于一个庞大的多类型数据库的系统,在不同的数据库之间(甚至是不同地理位置的机房间)保持数据的同步,需要更复杂的解决方案。LinkedIn良心开源了内部的一个项目Databus,正是解决这个问题的…

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

Jetbrains全系列IDE稳定放心使用

系统如果要应付大规模的请求,一条必经之路就是数据库的分割,单服务器的性能早晚都会成为负载的短板。而数据库分割,通常有Master/Salve或者集群Cluster的方式,这些方式通常都是基于同种类型的数据。对于一个庞大的多类型数据库的系统,在不同的数据库之间(甚至是不同地理位置的机房间)保持数据的同步,需要更复杂的解决方案。LinkedIn良心开源了内部的一个项目Databus,正是解决这个问题的一套实时低延迟数据同步系统。

Databus采用的是数据库日志挖掘的方式,这种方式最大的好处是能最大限度的保持一致性,而且具有最有的性能,但是缺点就是实现起来极为困难。因为Oracle和MySQL这样的数据库有自己特有的私有交易日志格式以及复制冗余解决方案,每次版本升级之后可能都会导致日志挖掘的代码失败,需要持续的保持升级。

当然以LinkedIn的技术实力,他们还是解决了那些问题。Databus的传输层端到端延迟是微秒级的,每台服务器每秒可以处理数千次数据吞吐变更事件,同时还支持无限回溯能力和丰富的变更订阅功能。

Databus具有如下特性:

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

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

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

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

无限回溯:这是Databus最具创新性的组件之一,对消费者支持无限回溯能力。当消费者需要产生数据的完整拷贝时(比如新的搜索索引),它不会对主OLTP数据库产生任何额外负担,就可以达成目的。当消费者的数据大大落后于来源数据库时,也可以使用该功能。

b89c2ff2440e

Databus的系统构成

Databus由Databus Relays(中继)和Databus Client(客户端):

Databus Relay中继的功能主要包括:

从Databus来源读取变更行,并在内存缓存内将其序列化为Databus变更事件;

监听来自Databus客户端(包括Bootstrap Producer)的请求,并传输新的Databus数据变更事件。

Databus客户端的功能主要包括:

检查Relay上新的数据变更事件,并执行特定业务逻辑的回调;

如果落后Relay太多,向Bootstrap Server发起查询;

新Databus客户端会向Bootstrap Server发起bootstrap启动查询,然后切换到向中继发起查询,以完成最新的数据变更事件;

单一客户端可以处理整个Databus数据流,或者可以成为消费者集群的一部分,其中每个消费者只处理一部分流数据。

最近一直在研究这个项目,希望能应用在整个系统的架构中,对于重要数据在跨系统中保持自动同步,这样可以大大减少代码层面不同系统中的数据API的调用,简化IT的工作量。

对Databus项目感兴趣的同学,可以去Databus在Github上的页面查看更多信息。

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

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

(0)
上一篇 2022年10月17日 下午1:00
下一篇 2022年10月17日 下午1:16


相关推荐

  • PhpStorm激活码2024.3版本最新教程,永久有效激活码,亲测可用,记得收藏

    PhpStorm激活码教程永久有效2024.3激活码教程-Windows版永久激活-持续更新,Idea激活码2024.3成功激活

    2025年5月23日
    10
  • java 检查bytebuf长度_ByteBuf分析

    java 检查bytebuf长度_ByteBuf分析1 概念 JavaNIOAPI 自带的缓冲区类功能相当有限 没有经过优化 使用 JDK 的 ByteBuffer 操作更复杂 故而 Netty 的作者 TrustinLee 为了实现高效率的网络传输 重新造轮子 Netty 中的 ByteBuf 实际上就相当于 JDK 中的 ByteBuffer 其作用是在 Netty 中通过 Channel 传输数据 2 优势可以自定义缓冲类型 通过内置的复合缓冲类型 实现透明的零拷贝 ze

    2026年3月19日
    2
  • kali 安装 蚁剑

    kali 安装 蚁剑一 下载地址 1 1 源码下载假设创建了个 antsword 文件夹则在该文件夹下下载源码 gitclonehttp github com AntSwordProj antSword git 赋予可写权限 chmod644antS master1 2 加载器下载在 antsword 目录下下载加载器加载器下载地址 https github com AntSwordProj AntSword Loader 二 安装步骤 2 1 加载器处理 1 解压

    2026年3月18日
    2
  • 比太钱包使用方法及冷钱包存储方案-2

    拖更一个月的我又开始更新了。过完年,恰逢数字货币开始上涨,正好是聊聊钱包的好时候。上文说到比太钱包的冷热模式,这次接上文写冷钱包模式下的发币及公钥监控操作。先从冷钱包模式下发币说起吧:1,打开钱包,点击发送按钮。2,输入收款地址和金额,并点击发送。这里无论是输入比特币金额还是法币金额,钱包会自动换算出另一种货币金额。3,输入钱包密码,准备冷钱包签名。4,生成未签名的交易信息二维码,需使用装有对应…

    2022年4月5日
    158
  • 动态规划背包问题

    动态规划背包问题一、0-1背包1.      有n个重量和价值分别为wi,vi的物品。从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。(1<=n<=100,1<=wi,vi<=100,1<=W<=10000)样例输入:4231234225 42133457910样例输出…

    2022年7月26日
    9
  • jedis连接池:JedisPool[通俗易懂]

    jedis连接池:JedisPool[通俗易懂]jedis连接池:JedisPool使用:1.创建JedisPool连接池对象2.调用方法getResource()方法获取Jedis连接//0.创建一个配置对象JedisPoolConfigconfig=newJedisPoolConfig();config.setMaxTotal(50);config.setMaxIdle(10);//1.创建Jedis连接池对象JedisPooljedisPool=newJe

    2025年9月12日
    11

发表回复

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

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