Kafka从入门到上天系列第三篇:基础架构推演+基础组件图形推演

一:基础架构图形推演

1:单体架构

单节点kafka broker,面临很多生产者和访问者的时候,大量的请求和访问大概率会因为吞吐量过大。产生io热点问题,结果就是:这个单一节点成为整个分布式系统的性能瓶颈和节点隐患。进而降低分布式系统的可用性和稳定性。

如果数据还没有写入到磁盘文件,而导致数据丢失。当前有两种方式,一种是横向拓展、纵向拓展。

横向拓展:单点改为集群。多个节点共同承载。降低单点故障带来的故障

纵向拓展:增加单节点服务器配置。比如:使用io效率更好的固态硬盘、切换千兆网卡、切换更优秀的Cpu、增大节点内存等等。这个性价比不高,横向才是王道。

2:集群broker

分布式系统的数据所有原理都是这样:数据分片+数据备份

kafka没有备份的概念,为了数据可靠性,我们可以将数据文件进行备份。kafka体系中称之为副本,多个副本中只能一个进行读写他就是leader。其他副本只是一个备份。

具有读写能力的副本叫做leader副本,作为备份的副本被称为follower副本。

下面图中:箭头出去的地方是leader副本,箭头所致的地方是follower副本。

Broker:服务节点(集群)

Topic:逻辑上进行Record分割的概念。

Partition:分区,本质上是逻辑上概念,有编号的概念,从0开始。有自己对应的物理目录和文件,并可以按照Broker进行备份。

replica:副本分为Leader和Follower概念。Leader可以进行读写,Follower只是备份。当Leader挂掉之后(网络故障、资源耗尽、交换机过热等)

相关推荐
风吹夏回5 天前
RabbitMQ 核心术语 + Python pika 方法完整讲解
分布式·python·rabbitmq
风吹夏回5 天前
RabbitMQ 三种模式入门:HelloWorld、WorkQueue、PubSub
分布式·rabbitmq·ruby
霸道流氓气质5 天前
分布式追踪与 RequestId 传播完全指南
分布式
cheems95275 天前
[RabbitMQ高级特性] 消息确认机制:从 Ready / Unacked 到 basicAck、basicReject、basicNack 的底层拆解
分布式·rabbitmq·ruby
whaledown5 天前
Kafka 与 Java 消息队列入门:用订单场景理解核心机制
java·kafka·消息队列·springboot
枫华落尽5 天前
【Hadoop01-完全分布式运行模式】
分布式
隔壁阿布都5 天前
ShedLock 分布式定时任务锁框架介绍
spring boot·分布式
文艺倾年5 天前
【强化学习】数学推导专题,20W字总结(十五)
人工智能·分布式·大模型·强化学习·vibecoding
ACP广源盛139246256735 天前
GSV9001S@ACP#1080P 级视频处理芯片,物理 AI 普及终端的高性价比选择
大数据·人工智能·分布式·嵌入式硬件·spark
guslegend5 天前
第1章:初始Kafka
分布式·kafka