KafKa核心概念

传统的消息队列的概念
Java中关于消息队列是有规范在的—JMS(Java Message Service)规范,概念如下图:
JMS消息队列中的概念
KafKa有哪些自己的特性呢?

分区和集群

  1. 将数据流分成多个分区,每个分区可以独立地进行读写操作。每个Topic由多个分区组成,这些分区可以分布在集群中的不同Broker上。

以发布订阅的模式为例,消息的生产和消费都是面向Topic的,既然Topic是分成多个分区的,每个分区又能独立的进行读写操作,所以在生产和消费的时候能够实现多实例并发操作,减轻单个实例的负载。

  1. 多个Broker协作组成了集群。

Controller选举过程

(抢占----上线----唯一----监听等待):

  • 第一次启动Kafka集群时,会同时启动多个Broker节点,每一个Broker节点就会连接ZooKeeper,并尝试创建一个临时节点 /controller(抢占)
  • 因为ZooKeeper中一个节点不允许重复创建,所以多个Broker节点,最终只能有一个Broker节点可以创建成功,那么这个创建成功的Broker节点就会自动作为Kafka集群控制器节点,用于管理整个Kafka集群。
  • 没有选举成功的其他Slave节点会创建Node监听器,用于监听 /controller节点的状态变化。
  • 一旦Controller节点出现故障或挂掉了,那么对应的ZooKeeper客户端连接就会中断。ZooKeeper中的 /controller 节点就会自动被删除,而其他的那些Slave节点因为
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值