Kafka生产者消息发布模式源码解析

发送消息的流程

Producer根据指定的partition方法(round-robin、hash等),将消息发布到指定topic的partition里面

kafka集群接收到Producer发过来的消息后,将其持久化到硬盘,并保留消息指定时长(可配置),而不关注消息是否被消费

Consumer从kafka集群pull数据,并控制获取消息的offset

1 同步发送模式源码

Kafka生产者消息发布模式源码解析

2 异步发送模式源码流程

Kafka生产者消息发布模式源码解析

Kafka生产者消息发布模式源码解析

3 总结

3.1 同步发送模式特点

  • 同步的向服务器发送RPC请求进行生产
  • 发送错误可以重试
  • 可以向客户端发送ack

3.2 异步发送模式特点

最终也是通过向服务器发送RPC请求完成的(和同步发送模式一样)

异步发送模式先将一定量消息放入队列中,待达到一-定数量后再一起发送;

异步发送模式不支持发送ack,但是Client可以调用回调函数获取发送结果

所以,性能比较高的场景使用异步发送,准确性要求高的场景使用同步发送。


上一篇:第 4 章 关系型数据库设计


下一篇:四、eggjs学习记录 - typescript声明generator函数