图解 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 ?用来干嘛的?
2066 2
图解 kafka 架构与工作原理
|
存储 机器学习/深度学习 SQL
图解大数据 | 分布式平台Hadoop与Map-Reduce详解
Hadoop是最基础和场景的开源分布式计算平台,ShowMeAI在本节内容中给大家讲解Hadoop相关知识。
1071 0
图解大数据 | 分布式平台Hadoop与Map-Reduce详解
|
1月前
|
SQL 关系型数据库 MySQL
击穿 MySQL InnoDB MVCC 底层:从 undo log、Read View 到隔离级别的全链路深度拆解
本文深入解析MySQL InnoDB的MVCC机制,涵盖undo log版本链、Read View可见性规则、各隔离级别行为差异,并纠正脏读/幻读等常见误区,辅以SQL与Spring Boot实战演示,助你透彻理解高并发下数据一致性的底层原理。
212 3
|
5月前
|
存储 弹性计算 容灾
高可用架构设计:多可用区部署策略
本文详解阿里云多可用区高可用架构设计,涵盖计算、数据、网络层冗余部署与故障转移方案,结合容灾演练与成本优化策略,以电商系统为例提供多AZ实践指南,助力企业构建稳定、高效的业务连续性体系。
419 0
|
消息中间件 存储 Java
图解Kafka:Kafka架构演化与升级!
图解Kafka:Kafka架构演化与升级!
961 0
图解Kafka:Kafka架构演化与升级!
阿里二面:10亿级分库分表,如何丝滑扩容、如何双写灰度?阿里P8方案+ 架构图,看完直接上offer!
阿里二面:10亿级分库分表,如何丝滑扩容、如何双写灰度?阿里P8方案+ 架构图,看完直接上offer!
阿里二面:10亿级分库分表,如何丝滑扩容、如何双写灰度?阿里P8方案+ 架构图,看完直接上offer!
|
XML 分布式计算 Hadoop
hadoop
hadoop
1880 0
|
Kubernetes 监控 网络协议
在K8S中,Pod不同探针有何区别?
在K8S中,Pod不同探针有何区别?
|
缓存 负载均衡 网络协议
代理服务器之squid、lvs、nginx、haproxy之间的区别
根据不同的需求和场景,选择适合的代理服务器可以提升应用性能和可用性。
1053 4
|
消息中间件 大数据 Kafka
Kafka与大数据:消息队列在大数据架构中的关键角色
【4月更文挑战第7天】Apache Kafka是高性能的分布式消息队列,常用于大数据架构,作为实时数据管道汇聚各类数据,并确保数据有序传递。它同时也是数据分发枢纽,支持多消费者订阅,简化系统集成。Kafka作为流处理平台的一部分,允许实时数据处理,满足实时业务需求。在数据湖建设中,它是数据入湖的关键,负责数据汇集与整理。此外,Kafka提供弹性伸缩和容错保障,适用于微服务间的通信,并在数据治理与审计中发挥作用。总之,Kafka是现代大数据体系中的重要基础设施,助力企业高效利用数据。
905 1

热门文章

最新文章