深入浅出 Otter与Canal

2024-08-23 05:48
文章标签 深入浅出 canal otter

本文主要是介绍深入浅出 Otter与Canal,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第一、Otter 

基于数据库增量日志解析,准实时同步到本机房或异地机房的Mysql/Oralce数据库,一个分布式数据库同步系统;

基本工作原理图如下:

 

 

  • 基于Canal开源产品,获取数据库增量日志数据;

  • 典型管理系统架构,manager(WEB 管理) + node(工作节点)

    • manager运行时推送同步配置到node节点;

    • node节点将同步状态反馈到manager上;

  • 基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作;

  • 能解决什么?

    • 1.异构库同步

      • mysql -> mysql/oracle (目前开源版本只支持mysql增量,目标库可以是mysql或者是oracle,取决于canal的功能)

    • 2.单机房同步(数据库之间RTT < 1ms)

      • 数据库版本升级;

      • 数据表迁移;

      • 异步二级索引;

这篇关于深入浅出 Otter与Canal的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1098526

相关文章

基于canal的Redis缓存双写

canal地址:alibaba/canal: 阿里巴巴 MySQL binlog 增量订阅&消费组件 (github.com)https://github.com/alibaba/canal 1. 准备 1.1 MySQL 查看主机二进制日志 show master status 查看binlog是否开启 show variables like 'log_bin' 授权

深入浅出SRS—RTMP实现

RTMP 直播是 SRS 最典型的使用场景,客户端使用 RTMP 协议向 SRS 推流,使用 RTMP 协议从 SRS 拉流,SRS 作为一个 RTMP 直播服务器实现媒体的转发。同时,RTMP 是 SRS 的中转协议,其他协议之间的互通需要先转为 RTMP,因此,理解 SRS RTMP 直播实现是理解其他协议实现的重要前提。本文主要分析 SRS RTMP 直播功能的实现原理,相关概念和配置请参考

深入浅出Java垃圾回收机制

对于Java开发人员来说,了解垃圾回收机制(GC)有哪些好处呢?首先可以满足作为一名软件工程师的求知欲,其次,深入了解GC如何工作可以帮你写出更好的Java应用。   这仅仅代表我个人的意见,但我坚信一个精通GC的人往往是一个好的Java开发者。如果你对GC的处理过程感兴趣,说明你已经具备较大规模应用的开发经验。如果你曾经想过如何正确的选择GC算法,那意味着你已经完全理解你所开发的应用的特点

【大数据】Canal实现MySQL数据增量同步至Kafka:原理与配置解析

文章目录 一、引言:Canal简介二、数据提取原理:Binlog与Canal的协同工作1. Binlog简介2. Canal工作原理 三、Canal配置解析:搭建MySQL到Kafka的数据桥梁1. MySQL配置(1)开启Binlog:(2)创建Canal用户并授权: 2. Canal配置(1)下载Canal:(2)解压并修改配置文件:(3)启动Canal: 3. Kafka配置(1)下载

记一种常用的实时数据同步方案:Canal+Kafka+Flume

记一种常用的实时数据同步方案:Canal+Kafka+Flume 在当今数据驱动的业务环境中,数据同步是确保系统间数据一致性的关键环节。一种高效、稳定且可扩展的数据同步方案对于支撑企业的数据处理和分析需求至关重要。本文将介绍一种结合了Canal、Kafka和Flume的数据同步方案,探讨其架构设计、实现原理以及为何它能在多种场景下提供卓越的性能。通过深入分析这一方案的组件和工作流程,我们将展示其

深入浅出Stream流

Java 8的新特性之一就是流stream,配合同版本出现的 Lambda ,使得操作集合(Collection)提供了极大的便利。 案例引入 在JAVA中,涉及到对数组、Collection等集合类中的元素进行操作的时候,通常会通过循环的方式进行逐个处理,或者使用Stream的方式进行处理。 假设遇到了这么一个需求:从给定句子中返回单词长度大于5的单词列表,按长度倒序输出,最多返回3个。

深入浅出Android中的MVP模式

MVP模式是在MVC模式的基础之上改进而来的。MVP模式分为:model,view,presenter三部分。三部分的关系如下图所示: 其中PresenterCompl实现IPresenter接口,PresenterCompl中的方法要改变view时通过调用IView中的方法来实现。Model层为PresenterCompl提供数据。 也就是说之前MVC中view的控制都是在activit

[Cocoa]深入浅出 Cocoa 之 Core Data(2)- 手动编写代码

深入浅出 Cocoa 之 Core Data(2)- 代码示例 罗朝辉( http://blog.csdn.net/kesalin) CC 许可,转载请注明出处 前面 详细讲解了 Core Data 的框架以及设计的类,下面我们来讲解一个完全手动编写代码使用这些类的示例,这个例子来自苹果官方示例。在这个例子里面,我们打算做这样一件事情:记录程序运行记录(时间与 proc

MySQL实时同步到Elasticsearch实现方案 —— canal(兼容ES5.X)

首先看一下canal的实现原理:     canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )canal 解析 binary log 对象(原始为 byte 流) 怎么使用? 这里只

canal adapter支持Elasticsearch 5.X版本配置

日常踩坑,现在公司使用的ES还是5.3.3版本,但是canal目前只支持6.X以上版本,canal是这么建议的: canal adapter 的 Elastic Search 版本支持6.x.x以上, 如需其它版本的es可替换依赖重新编译client-adapter.elasticsearch模块 一般人理解似乎只需要改动依赖版本然后打包就O了,但是启动会报错,后面定位是transpor