Kafka 是最广泛运用的大数据消息分发组件,因为各种原因,大部分 Kafka 的用户都在不同的环境下保有多个集群,而数据整合剖析的需求又要求这些集群的数据能够集聚到一同。所以集群间的数据剖析数据镜像成软件技术专业为了 Kafka 的一个重要需求。本文将详软件测验细描绘集群间信息仿制的场景和计划。

作者:徐为

来历:腾讯云中间件群众号

徐为,腾讯云微服务团队软件测验高档处理计划构架师;毕业于欧盟 Erasmus Mundus IMMIT,获得经济和IT处理硕士学位;自架构师证书怎样考2006年以来,曾就任于SonyEricsson、SAP、Alibaba Cloud等多家公司,历任软件开发工程师,数微服务和分布式的差异据开发工程师,处微服务架构理计划架构师。

集群仿制场景

Kafka 集群仿制主要有2个场景,一个是根据地理位置的场景,一个是根据事务生命周期的场景。

  • 根据地理位置的场景

跨国跨地域的公司因为功用,法规等架构设计要求,在事务地址地创建了 Kafka 集群对当地的事务数据进行收集和处理。在相应客户需求之软件商铺外,这部分源数据也是母公司对整个事务线进行剖析和考核的重要组成部分,所以把数据以镜像的方式传递回母公司地址的区域也成为了一个非常重要的事务流程。

“分公司数据向母公司集聚”

独家共享:Kafka集群间信息仿制攻略来了!

  • 根据事务生命周期的微服务面试题场景

超崇高骑士一个架构图制造场景由事务数据生命周期的特色抉择。有些事务比如 IoT 和 V2X,在接入云端时整个 Kafka 集群的使命便是实时的陈涉世家翻译及原文集聚和分发。许多数据在分发出去之后又被导入到另一个 To超崇高骑士pic 持续集聚和分发。

微服务架构的优缺点事务的顶峰时刻,一切的计算资源都被用来处理实时事务。存储介质也倾向更快的读取才能,为了处理开销,存储的大小会被尽量的紧缩。而到了事务低峰期,一切的计算资源都能够被拿来处理积累一天的数据,数据数据剖析师要考什么证的读取速度不必最大的优化,可是存储量最好足够大,因为有时候辰时是几点到几点夜间需求把之前一周的数据重新跑一遍。这个场景里,功用优化的 K陈思思afka 集群会把数据同步到存储价格最优的 Kafka 集辰时是几点到几点群。

“实时数据集群向线下数据剖析集群集聚”

独家共享:Kafka集群间信息仿制攻略来了!

这2个场景触及不同可用区(Availability Zone)或许不同地域(Region),可是万变不离其宗,微服务怎样发动本质上是2个网络互连互通的 Kafka 集群之间的数据镜像处理。

  • 集群仿制条件

假如2个或许多个集群想做仿制,首先要考虑的是网络互连互通的问题。根据当前腾讯云网络的结构,主要需求考虑 VPC 之间的互连互通逻辑。微服务架构处理计划都在 VPC 的服务下,一个是云联网,一个是对等链接。

架构示意图如下,取自腾讯云官网:

独家共享:Kafka集群间信息仿制攻略来了!

对等链接是相对较早的 VPC Peering 计划,而云联网是近几年比较火的 SD-WAN 的处理计划,不论哪一种,都能够做到网络互连互通。

集群仿制计划

目前集群仿制计划有2个,一个叫 MirrorMaker ,一个叫 Confluent Replicator 。MirrorMaker 是相对简略的 stand-alone 东西,针对 Kafka 的2个集群做点对点的仿制。而 Replicator 的计划更杂乱也支撑更多的功用。下面针对两个计划做了一个比照,摘自 MirrorMaker 的官方文档:

独家共享:Kafka集群间信息仿制攻略来了!

具体施行

  • MirrorMak软件测验er
  1. 创建 Kafka 原集群和方针集群,并保证网络互连互通 – 这儿的 Kafka 能够是自建集群也能够是保管版其他 CKafka 集群。

  2. 在某一台能够一同衔接两个 Kafka 集群的 CVM 上下载 Kafka 的包,然后准备架构师证书怎样考装备文件如下:

# Consumer指数据剖析师向源Kafka集群
$ cat source架构图怎样做wordClusterConsumer.config
bootstrap.servers=172.16.0.4:9092  # sour软件ce ser陈思思ver a数据剖析师工资ccess endpoint
exclude.internal.topics=true
client.id=mirror_maker_数据剖析c微服务架构onsumer
group.id=mirror_maker_c软件商铺装置onsu微服务架构开发渠道mer
# Producer指向方针Kafka集群
$ cat targetClust微服务架构下的服务开发erConsumer.config
bootstrap.servers=localh数据剖析师要学什么课程ost:9092  # target server access endpoint
acks=1
batch.size=50
client.id软件开发=mirror_maker_test_producer
  1. 在装备好之后,用下面的指令(需求调整好途径数据剖析,和需求同步的 topic )来做拉取和向方针写入。
/bin/kafka-mi数据剖析师rror-微服务渠道maker.sh --consume微服务架构r.conf数据剖析师ig ./demo软件应用-config/sourceClusterConsumer.config --num.s长沙师范学院treams 1 --producer.config ./demo-长沙师范学院config/targetClusterConsumer.config -whitelist=".*"
  1. 在这个指令履行之后,能够在方针的 Kafka 机器跑一个 Consumer 来验证数据。
  • Confluent Replicator

第二个计划从规划视点愈加完善,考虑了更多的容错和支撑更多的功用。

独家共享:Kafka集群间信息仿制攻略来了!

计划本身和上面的 MirrorMaker 很像:

  1. 创建 Kafka 原集群和方针集群,并保证网络互连互通 – 这儿的 Kafka 能够是自建集群微服务架构开发渠道也能够是保管版其他CKafka集群

  2. 在某一台能够一同衔接2个 Kafka 集群的 CVM 上下载 Kafka 的包,然后软件开发准备装备文件如下

  3. 用下面的指令来(需求调整好途径,和需求同步软件的 topic )来做拉取和向方针写入

./bin/replicator --微服务cluster.id replicator --consumer.config my-examples/consumer.properties --producer.config my-examples/producer.properties --replication.config my-ex软件应用amp架构图怎样做wordles/replication.properties --whitelist 'test-topic'

其间两个额外的参数:

--cluster.id数据剖析师要考什么证 -架构 An identifier used to determine which Replicator cl软件开发uster this executable should join. Multiple Replicator execu架构师table instances with the same cluster.id will work together. Replicator是以多个instance来仿制的逻辑,只要cluster Id相同的,就能够协同作业。
--replication.config - The path to a数据剖析师 file containing any non connection specific configuration. Command l架构师证书怎样考ine arguments will override these configurations. 其他的和衔接无关的参数配架构图备。

具体的装备可点击参看

  1. 在这个指令履行之后,能够在方针的 Kafka 机器跑一个 Consumer 来验证数据。

参看资料

云联网

对等链接

MirrorMaker 官方文档

CKafka集群

dzone.c架构是什么意思om/articles/ho…

docs.confluent.io/plat软件商铺装置form/cu…

传送门架构设计

  • 了解更多微服务相关资讯:消息行列 CKafka
  • 反应沟通您的宝贵意见:腾讯云中间件问答社区
  • 今日我们聊聊 Trace 之 OpenTele架构是什么意思metry An架构设计d TSW | 概览