把broker比作是一幢摩天大楼,一个10节点的kafka集群就是10幢摩天大楼,而且这些大楼都长得一模一样。
分区就相当于大楼里的一层。一个分区就相当于一整层哦。
原先大楼是空的。
现在用户创建了一个topic,就相当于是订酒店的意思。
比如先创建了一个主题叫做“跑男”,要求是1个分区,10个副本。
这什么意思呢?就相当于说我只要一层楼就行,但是要求是10幢楼各出一层。相当于“跑男”这个剧组包下了10个大楼里的同一层。比如说都是第7层。好了,现在这10幢楼的每一幢的第7层都被“跑男”主题包下了。这种情况,相当于是“邓超和他的9个小弟”,当外界有消息发过来的时候,都会去找邓超住的那幢大厦,把消息告诉邓超,其他小弟只是简单抄下来邓超收到的消息。也就是如果邓超住在1号大楼,收发消息的人都会往1号楼跑,不会去问其他楼的小弟。其他小弟不对外界开放,只是同步邓那边的消息。

如果现在又来了一个主题叫做“极限挑战”,要求是10个分区,10个副本。
这什么意思呢?就相当于是说我要10层楼,不是一幢大厦的10层楼,我要你们所有10幢大厦里所有的第11层到第20层都给我们。其实相当于给了100层了,10*10=100嘛。那其实这100层怎么分配呢,可能开始的时候,“极限挑战”的10个主角人员都入住在了1号大楼。2号楼到10号楼都住的小弟。那就出现了所有外界消息到了都会跑去1号楼,要么去11层,要么去12层,要么去13层。。。。比刚才“跑男”好多了,有10个主角都可以说了算。这10个主角接收和处理的其实都是“极限挑战”主题的事情。这里我们看到了1个分区和10个分区相比的好处。10个分区可以同时处理更多的请求,接收更多消息。但是发现没有,主角竟然都住在同一幢大楼,这是很危险的,万一某一天这个大楼关门了,那就所有消息都进不来了,没有一个能处理的人了。其他楼纵然开放,住的都是小弟,小弟说了不算数,也不接收处理消息的。
所以最好的方式是,主角分散到不同的大楼,比如1号楼的第11层是第一个主角,2号楼的第12层是第二个主角,3号楼的第13层是第三个主角。。。。这样的话,就算10幢楼里有9幢楼都关闭了,只要还有一幢大楼存活,他就可以继续处理“极限挑战”主题的所有事务,只是压力暂时会比较大,等其他大楼恢复了,压力就均摊到10个大楼上去了。那到这里,我们好像还没有见识到10个副本是为什么,好像只要有主角就够了嘛,要小弟做什么呢?小弟其实就是简单同步主角的收到的消息。他简单存起来。不处理也不对外服务。1号主角之前收到的信息和其他主角是不一样的,如果现在1号楼突然永久关闭了的话,那么上哪里获取1号主角之前究竟收到了什么信息呢?答案是从小弟那里。比如1号楼关门了,原来的消息也出不来,这时候2号楼的主角可以去2号楼的第11楼找一下之前1号楼主角的小弟。3号楼的主角可用去3号楼的第11层找一下之前1号楼主角的小弟。。。。2号楼到10号楼的第11层都是住着原先1号楼主角的小弟。从那里可以知道之前1号楼的主角处理过哪些消息。

爱词霸

 

 
划词翻译
自动发声
自动添加生词本

爱词霸

 

 
划词翻译
自动发声
自动添加生词本

爱词霸

 

 
划词翻译
自动发声
自动添加生词本

最新文章

  1. MFC注册窗口类以及FindWindow按窗口类名查询
  2. Jar mismatch错误的解决
  3. Linux C++线程池
  4. UTF-8编码的字符串拆分成单字、获取UTF-8字符串的字符个数的代码及原理
  5. 【转】Linux重定向操作符
  6. C# 使用Linq递归查询数据库遇到的问题及解决方法
  7. 备份spfile 中的一个误区
  8. C# The process cannot access the file because it is being used by another process
  9. linux 安装Gauss09 GaussView
  10. Entity Framework技巧系列之十一 - Tip 42 - 45
  11. wx:for修改样式
  12. JSP+MySQL验证登录的实现方式
  13. 二叉查找树的C++实现
  14. openstack网络基础:网络叠加模式VLAN、VxLAN、GRE
  15. [Android]Animation 动画介绍和实现
  16. .resources文件转为可视化.resx文件
  17. 20169207《Linux内核原理与分析》第三周作业
  18. Sqlserver中PIVOT行转列透视操作
  19. API接口自动化之3 同一个war包中多个接口做自动化测试
  20. (转)最短路算法--Dijkstra算法

热门文章

  1. NOIP初赛篇——04计算机软件系统
  2. OpenTelemetry - 云原生下可观测性的新标准
  3. uni-app阻止事件向父级冒泡
  4. linux find命令用法大全
  5. 查找linux系统下的端口被占用进程的两种方法 【转】
  6. 【剑指 Offer】05.替换空格
  7. 【C++】《C++ Primer 》第十五章
  8. AI智能皮肤测试仪助力美业数字化营销 实现门店与用户双赢局面
  9. Python找对称数——纪念第一次自主编写代码
  10. kubernetes机理之调度器以及控制器