Kafka整体架构图解

1.概述

Apache Kafka最早是由LinkedIn开源出来的分布式消息系统,现在是Apache旗下的一个子项目,并且已经成为开源领域应用最广泛的消息系统之一。Kafka社区非常活跃,从0.9版本开始,Kafka的标语已经从“一个高吞吐量,分布式的消息系统”改为"一个分布式流平台"。

Kafka和传统的消息系统不同在于:

  • kafka是一个分布式系统,易于向外扩展。
  • 它同时为发布和订阅提供高吞吐量
  • 它支持多订阅者,当失败时能自动平衡消费者
  • 消息的持久化

kafka和其他消息队列的对比:

2.入门实例

2.1生产者

producer

2.2 消费者

3.Kafka架构原理

对于kafka的架构原理我们先提出几个问题?

1.Kafka的topic和分区内部是如何存储的,有什么特点?

2.与传统的消息系统相比,Kafka的消费模型有什么优点?

3.Kafka如何实现分布式的数据存储与数据读取?

3.1Kafka架构图

3.2kafka名词解释

在一套kafka架构中有多个Producer,多个Broker,多个Consumer,每个Producer可以对应多个Topic,每个Consumer只能对应一个ConsumerGroup。

整个Kafka架构对应一个ZK集群,通过ZK管理集群配置,选举Leader,以及在consumer group发生变化时进行rebalance。

3.3Topic和Partition

在Kafka中的每一条消息都有一个topic。一般来说在我们应用中产生不同类型的数据,都可以设置不同的主题。一个主题一般会有多个消息的订阅者,当生产者发布消息到某个主题时,订阅了这个主题的消费者都可以接收到生产者写入的新消息。

kafka为每个主题维护了分布式的分区(partition)日志文件,每个partition在kafka存储层面是append log。任何发布到此partition的消息都会被追加到log文件的尾部,在分区中的每条消息都会按照时间顺序分配到一个单调递增的顺序编号,也就是我们的offset,offset是一个long型的数字,我们通过这个offset可以确定一条在该partition下的唯一消息。在partition下面是保证了有序性,但是在topi

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Kafka Connect 是 Kafka 生态系统中的一个组件,它允许将外部系统与 Kafka 进行连接,并将数据从这些系统导入到 Kafka 中或将 Kafka 数据导出到这些系统中。Kafka Connect 的架构如下: ![kafka-connect-architecture](https://kafka.apache.org/25/images/kafka-connect-diag.png) 在 Kafka Connect 中,有两种类型的进程:Worker 和 Connector。 Worker 进程是 Kafka Connect 的核心组件,它负责协调 Connector 进程,管理任务和处理数据。一个 Worker 进程可以运行多个 Connector 进程,但一个 Connector 进程只能运行一个 Worker 进程。 Connector 进程是实际执行数据传输的进程。它们可以是 Source Connector(从外部系统导入数据到 Kafka)或 Sink Connector(从 Kafka 导出数据到外部系统)。 在 Connectors 中,有三个重要的概念:Task、Transform 和 Converter。 Task 是 Connector 进程中的一个线程,它负责一个特定的数据传输任务(Source Task 或 Sink Task)。每个 Connector 可以有多个 Task。 Transform 是一种转换操作,它可以对数据进行转换。在数据从 Source Task 到达 Sink Task 之前,可以通过 Transform 对数据进行处理。 Converter 是用于序列化和反序列化数据的工具。Connectors 使用 Converter 将数据从 Kafka 的字节格式转换为 Connector 进程可以理的格式,并将数据从 Connector 进程转换为 Kafka 字节格式。Kafka Connect 提供了两种 Converter:JsonConverter 和 AvroConverter。 总之,Kafka Connect 架构通过 Worker 和 Connector 进程实现了将外部系统与 Kafka 连接的功能,并且提供了一组强大的工具来管理数据传输和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值