Kafka工作原理

 

一、消息路由策略

在通过 API 方式发布消息时,生产者是以 Record 为消息进行发布的。Record 中包含 key与value,value 才是我们真正的消息本身,而 key 用于路由消息所要存放的 Partition。消息要写入到哪个 Partition 并不是随机的,而是有路由策略的。

1) 若指定了 partition,则直接写入到指定的 partition;

2) 若未指定 partition 但指定了 key,则通过对 key 的 hash 值与 partition 数量取模,该取模

结果就是要选出的 partition 索引;

3) 若 partition 和 key 都未指定,则使用轮询算法选出一个 partition。

二、消息写入算法

 

消息生产者将消息发送给 broker,并形成最终的可供消费者消费的 log,是一个比较复杂的过程。

1) producer 向 broker 集群提交连接请求,其所连接上的任意 broker 都会向其发送 broker

controller 的通信 URL,即 broker

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值