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挂掉之后(网络故障、资源耗尽、交换机过热等)

相关推荐
谢亮_vipxieliang5 小时前
Spring Cloud 服务治理入门:注册发现、配置中心、网关限流、熔断降级与分布式一致性方案
分布式·spring·spring cloud
樱花落木兰13 小时前
分布式登录实战:Session 会话共享改造,Redis 存储用户登录状态
java·javascript·数据库·redis·分布式·缓存
ShineWinsu14 小时前
对于Redis:Steam、Geospatial、Hyperloglog、Bitmap、Bitfield类型的解析
数据库·c++·redis·分布式·缓存·面试·zset
Flynt1 天前
Redis Cluster主节点挂了,为什么"高可用"还全员掉线?我把三次kill的记录翻出来了
数据库·redis·分布式
JosieBook1 天前
【数据库】MySQL 实战精通系列 · 第10篇:分库分表与分布式事务实战
数据库·分布式·mysql
梦帮科技1 天前
vLLM / TensorRT-LLM 极限推理:PagedAttention 细粒度物理页表管理与连续批处理(Continuous Batching)实战
数据结构·人工智能·分布式·python·深度学习·算法·vllm
用户1494484813202 天前
同为消息队列,RocketMQ 和 Kafka 的底层设计差在哪?
kafka
Frank_refuel2 天前
分布式RPC框架实战(二):服务端模块划分与底层设计
分布式·网络协议·rpc
开开心心就好2 天前
办公软件卸载不干净?专用工具一键清残留
java·前端·人工智能·智能手机·kafka·excel·memcache
mftang2 天前
EtherCAT协议:从“飞读飞写”机制到分布式时钟同步的实时以太网架构深度解析
分布式·架构·ethercat·分布式时钟·从站控制器