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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • nginx的负载均衡算法有哪些_负载均衡策略

    nginx的负载均衡算法有哪些_负载均衡策略1、轮询(默认)特点:每个请求按时间顺序逐一分配到不同的后端服务器处理。适用业务场景:后端服务器硬件性能配置完全一致,业务无特殊要求时适用。upstreamtomcats{ server192.168.1.173:8080; server192.168.1.175:8080;}2、加权轮询特点:指定轮询几率,weight值(权重)和访问比例成正比,用户请求按权重比例分配。适用业务场景:后端服务器硬件性能处理能力不平均的情形。upstreamtomcats{ server

    2022年8月31日
    4
  • jsp中<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” 。。的重要性「建议收藏」

    jsp中<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” 。。的重要性「建议收藏」在jsp先看2个很奇怪的现象<%@pagelanguage="java"contentType="text/html;charset=utf-8"pageEncoding="utf-8"%> Inserttitlehere functiongetpro(selProvance) { alert(“go”);//可以输出go// alert(s

    2022年7月12日
    32
  • linux 查看内存大小命令,Linux查看命令:CPU型号,内存大小,硬盘空间「建议收藏」

    linux 查看内存大小命令,Linux查看命令:CPU型号,内存大小,硬盘空间「建议收藏」#cat/proc/cpuinfo|grep”physicalid”|uniq|wc-l说明:uniq命令:删除重复行;wc–l命令:统计行数1.2查看CPU核数#cat/proc/cpuinfo|grep”cpucores”|uniqcpucores:4说明:cpu核数为41.3查看CPU型号#cat/proc/cpuinfo|grep’mo…

    2025年5月22日
    5
  • Pytest(11)allure报告[通俗易懂]

    Pytest(11)allure报告[通俗易懂]前言allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面。mac环境:

    2022年7月29日
    11
  • LeetCode刷题100道,让你滚瓜烂熟拿下SQL「建议收藏」

    LeetCode刷题100道,让你滚瓜烂熟拿下SQL「建议收藏」SQL每个人都要用,但是用来衡量产出的并不是SQL本身,你需要用这个工具,去创造其它的价值。

    2022年10月8日
    6
  • 深入理解Java中的容器

    深入理解Java中的容器1 容器的概念在 Java 当中 如果有一个类专门用来存放其它类的对象 这个类就叫做容器 或者就叫做集合 集合就是将若干性质相同或相近的类对象组合在一起而形成的一个整体 2 容器与数组的关系之所以需要容器 1 数组的长度难以扩充 2 数组中数据的类型必须相同容器与数组的区别与联系 1 容器不是数组 不能通过下标的方式访问容器中的元素 2 数组的所有功能通过 Arraylist 容器

    2025年10月12日
    5

发表回复

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

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