图解 Kafka,画得太好了!

简介: Kafka 是主流的消息流系统,其中的概念还是比较多的,下面通过图示的方式来梳理一下 Kafka 的核心概念,以便在我们的头脑中有一个清晰的认识。

基础

Kafka 是一套流处理系统,可以让后端服务轻松的相互沟通,是微服务架构中常用的组件。

image.png

生产者消费者

生产者服务 Producer 向 Kafka 发送消息,消费者服务 Consumer 监听 Kafka 接收消息。

image.png

一个服务可以同时为生产者和消费者。


image.png

Topics 主题

Topic 是生产者发送消息的目标地址,是消费者的监听目标。

image.png

一个服务可以监听、发送多个 Topics。


image.png

Kafka 中有一个【consumer-group(消费者组)】的概念。

这是一组服务,扮演一个消费者。

image.png

如果是消费者组接收消息,Kafka 会把一条消息路由到组中的某一个服务。


image.png

这样有助于消息的负载均衡,也方便扩展消费者。

Topic 扮演一个消息的队列。

首先,一条消息发送了。

image.png

然后,这条消息被记录和存储在这个队列中,不允许被修改。


image.png

接下来,消息会被发送给此 Topic 的消费者。

但是,这条消息并不会被删除,会继续保留在队列中。

image.png

继续发送消息。


image.png

像之前一样,这条消息会发送给消费者、不允许被改动、一直呆在队列中。

(消息在队列中能呆多久,可以修改 Kafka 的配置)

image.png

image.png

Partitions 分区

上面 Topic 的描述中,把 Topic 看做了一个队列,实际上,一个 Topic 是由多个队列组成的,被称为【Partition(分区)】。

这样可以便于 Topic 的扩展。

image.png

生产者发送消息的时候,这条消息会被路由到此 Topic 中的某一个 Partition。


image.png

消费者监听的是所有分区。


image.png

image.png

image.png

image.png

image.png

目录
相关文章
|
消息中间件 存储 中间件
图解 kafka 架构与工作原理
面试官提问:什么是 Kafka ?用来干嘛的?
2014 2
图解 kafka 架构与工作原理
阿里二面:10亿级分库分表,如何丝滑扩容、如何双写灰度?阿里P8方案+ 架构图,看完直接上offer!
阿里二面:10亿级分库分表,如何丝滑扩容、如何双写灰度?阿里P8方案+ 架构图,看完直接上offer!
阿里二面:10亿级分库分表,如何丝滑扩容、如何双写灰度?阿里P8方案+ 架构图,看完直接上offer!
|
消息中间件 存储 Java
图解Kafka:Kafka架构演化与升级!
图解Kafka:Kafka架构演化与升级!
831 0
图解Kafka:Kafka架构演化与升级!
|
XML 分布式计算 Hadoop
hadoop
hadoop
1790 0
|
Kubernetes 监控 网络协议
在K8S中,Pod不同探针有何区别?
在K8S中,Pod不同探针有何区别?
|
消息中间件 Kafka API
Kafka Exactly Once 语义实现原理:幂等性与事务消息
Apache Kafka的Exactly-Once语义确保了消息处理的准确性和一致性。通过幂等性和事务消息,Kafka实现了要么全处理要么全不处理的原子性。文章详细解析了Kafka事务的工作流程,包括生产者的幂等性(通过序列号保证),以及事务消息的提交和回滚过程。Kafka事务提供了ACID保证,但存在性能限制,如额外的RPC请求和单生产者只能执行一个事务。此外,事务适用于同集群内的操作,跨集群时原子性无法保证。了解这些原理有助于开发者更好地利用Kafka事务构建可靠的数据处理系统。
862 3
 Kafka Exactly Once 语义实现原理:幂等性与事务消息
|
缓存 负载均衡 网络协议
代理服务器之squid、lvs、nginx、haproxy之间的区别
根据不同的需求和场景,选择适合的代理服务器可以提升应用性能和可用性。
1000 4
|
Java 大数据 数据库连接
clickhouse使用及常见异常 【已解决】
clickhouse使用及常见异常 【已解决】
1571 0
|
消息中间件 大数据 Kafka
Kafka与大数据:消息队列在大数据架构中的关键角色
【4月更文挑战第7天】Apache Kafka是高性能的分布式消息队列,常用于大数据架构,作为实时数据管道汇聚各类数据,并确保数据有序传递。它同时也是数据分发枢纽,支持多消费者订阅,简化系统集成。Kafka作为流处理平台的一部分,允许实时数据处理,满足实时业务需求。在数据湖建设中,它是数据入湖的关键,负责数据汇集与整理。此外,Kafka提供弹性伸缩和容错保障,适用于微服务间的通信,并在数据治理与审计中发挥作用。总之,Kafka是现代大数据体系中的重要基础设施,助力企业高效利用数据。
854 1
|
消息中间件 监控 安全
【天衍系列 05】Flink集成KafkaSink组件:实现流式数据的可靠传输 & 高效协同
【天衍系列 05】Flink集成KafkaSink组件:实现流式数据的可靠传输 & 高效协同
1448 5

热门文章

最新文章