Kafka核心技术与实战
胡夕
人人贷计算平台部总监,Apache Kafka Contributor
立即订阅
8408 人已学习
课程目录
已完结 46 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 为什么要学习Kafka?
免费
Kafka入门 (5讲)
01 | 消息引擎系统ABC
02 | 一篇文章带你快速搞定Kafka术语
03 | Kafka只是消息引擎系统吗?
04 | 我应该选择哪种Kafka?
05 | 聊聊Kafka的版本号
Kafka的基本使用 (3讲)
06 | Kafka线上集群部署方案怎么做?
07 | 最最最重要的集群参数配置(上)
08 | 最最最重要的集群参数配置(下)
客户端实践及原理剖析 (14讲)
09 | 生产者消息分区机制原理剖析
10 | 生产者压缩算法面面观
11 | 无消息丢失配置怎么实现?
12 | 客户端都有哪些不常见但是很高级的功能?
13 | Java生产者是如何管理TCP连接的?
14 | 幂等生产者和事务生产者是一回事吗?
15 | 消费者组到底是什么?
16 | 揭开神秘的“位移主题”面纱
17 | 消费者组重平衡能避免吗?
18 | Kafka中位移提交那些事儿
19 | CommitFailedException异常怎么处理?
20 | 多线程开发消费者实例
21 | Java 消费者是如何管理TCP连接的?
22 | 消费者组消费进度监控都怎么实现?
深入Kafka内核 (5讲)
23 | Kafka副本机制详解
24 | 请求是怎么被处理的?
25 | 消费者组重平衡全流程解析
26 | 你一定不能错过的Kafka控制器
27 | 关于高水位和Leader Epoch的讨论
管理与监控 (12讲)
28 | 主题管理知多少?
29 | Kafka动态配置了解下?
30 | 怎么重设消费者组位移?
31 | 常见工具脚本大汇总
32 | KafkaAdminClient:Kafka的运维利器
33 | Kafka认证机制用哪家?
34 | 云环境下的授权该怎么做?
35 | 跨集群备份解决方案MirrorMaker
36 | 你应该怎么监控Kafka?
37 | 主流的Kafka监控框架
38 | 调优Kafka,你做到了吗?
39 | 从0搭建基于Kafka的企业级实时日志流处理平台
高级Kafka应用之流处理 (3讲)
40 | Kafka Streams与其他流处理平台的差异在哪里?
41 | Kafka Streams DSL开发实例
42 | Kafka Streams在金融领域的应用
结束语 (1讲)
结束语 | 以梦为马,莫负韶华!
特别放送 (2讲)
加餐 | 搭建开发环境、阅读源码方法、经典学习资料大揭秘
用户故事 | 黄云:行百里者半九十
Kafka核心技术与实战
登录|注册

35 | 跨集群备份解决方案MirrorMaker

胡夕 2019-08-22
你好,我是胡夕。今天我要和你分享的主题是:Kafka 的跨集群数据镜像工具 MirrorMaker。
一般情况下,我们会使用一套 Kafka 集群来完成业务,但有些场景确实会需要多套 Kafka 集群同时工作,比如为了便于实现灾难恢复,你可以在两个机房分别部署单独的 Kafka 集群。如果其中一个机房出现故障,你就能很容易地把流量打到另一个正常运转的机房下。再比如,你想为地理相近的客户提供低延时的消息服务,而你的主机房又离客户很远,这时你就可以在靠近客户的地方部署一套 Kafka 集群,让这套集群服务你的客户,从而提供低延时的服务。
如果要实现这些需求,除了部署多套 Kafka 集群之外,你还需要某种工具或框架,来帮助你实现数据在集群间的拷贝或镜像。
值得注意的是,通常我们把数据在单个集群下不同节点之间的拷贝称为备份,而把数据在集群间的拷贝称为镜像(Mirroring)。
今天,我来重点介绍一下 Apache Kafka 社区提供的 MirrorMaker 工具,它可以帮我们实现消息或数据从一个集群到另一个集群的拷贝。

什么是 MirrorMaker?

从本质上说,MirrorMaker 就是一个消费者 + 生产者的程序。消费者负责从源集群(Source Cluster)消费数据,生产者负责向目标集群(Target Cluster)发送消息。整个镜像流程如下图所示:
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Kafka核心技术与实战》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(11)

  • 无菇朋友
    老师您好,问一下怎么在本地搭建两个kafka集群

    作者回复: 设置zookeeper.connect时使用不同的chroot,比如一个是zk:2181/kafka1,另一个是zk:2181/kafka2

    2019-09-02
    2
  • 许童童
    跟着老师一起精进。
    2019-08-22
    2
  • 外星人
    您好,我们最近也在调研brooklin和uReplicator,能否比较下二者的优缺点啊?
    2019-08-22
    2
  • 蓝色海洋
    老师,我想问问,低版本的集群消息可以同步到高版本集群吗,目前版本是0.8想同步到2.0集群

    作者回复: 个人觉得使用MirrorMaker似乎也是可以的,只是版本跨度有点大~ 0.8和2.0的消息格式都是不一样的,

    2019-10-30
    1
    1
  • wgcris
    老师,您好,再请教个问题最近我们生产环境发现,broker进程意外挂掉之后,重启broker时间会很长,当数据量很大的时候,浏览了一下社区,KIP-263提了一个解决方案,而且已经合入到2.3版本,但测试发现并没有什么效果,不知道您有了解这方面的优化吗?

    作者回复: 这个KIP还在讨论中啊,没有进2.3版本。基本上都是因为加载日志段时间过长导致的。目前社区针对这个问题的终极解决方案是KIP-500

    2019-11-26
    1
  • wgcris
    老师,您好,请教个问题,如果使用mirrormaker做集群数据同步,是不是内部topic数据也一起进行同步?另外在主备场景下,如果主集群挂了,如何保证备集群能正常提供服务,客户端消费数据是正确的

    作者回复: 默认是不同步内部topic,如果要同步的话,需要两个条件:在consumer.config中设置exclude.internal.topics=false以及在producer.config中设置client.id=__admin_client。具体参见这个jira:
    https://issues.apache.org/jira/browse/KAFKA-6524

    如果主挂了,client需要自行处理切换的问题,目前Kafka端尚未自动切换的解决方案

    2019-11-24
  • godtrue
    kafka集群间数据同步工具,MirrorMaker——本质上就是一个消费者+一个生产者程序,利用这一取一放将数据在两个kafka集群中到一道手。不过这个工具性能差一些,也存在其他一些问题,所以,牛一点的公司都在她的基础上开发了自己的集群间数据同步工具。
    2019-09-24
  • RJZ
    接上条,只是感觉connect就是来做数据对接场景的😂,另外confluent的复制工具出现在confluent hub里,一度怀疑他们是开发了个connector
    2019-08-27
  • RJZ
    用kafka connector实现可以不

    作者回复: Kafka Connect多是实现Kafka与其他外部系统之间的互连,不是用于Kafka多集群间的数据迁移,而且也没有对应的kafka connector....

    2019-08-27
  • lmtoo
    是不是通过MirrorMaker拷贝,只要是目标集群的主题分区数量和源主题分区数量一致,拷贝的主题分区数据就是一一对应的?
    2019-08-22
  • 蒙开强
    老师,你好,你提的这几款工具,MirrorMaker是免费的,其它的也是免费可以用的么

    作者回复: LinkedIn的Brooklin MM好像没有开源,Confluent的Replicator要收费,Uber的uReplicator应该开源了

    2019-08-22
    1
收起评论
11
返回
顶部