kafka深度解析(1)

pull vs push

和传统的消息队列系统一样,producer向broker push数据;consumer从broker pull数据;

  • push模式

push模式很难适应消费速率不同的消费者,因为消息发送速率是由broker决定的。push模式的目标是尽可能以最快速度传递消息,但是这样很容易造成consumer来不及处理消息,典型的表现就是拒绝服务以及网络拥塞。

  • pull模式

pull模式可以根据consumer的消费能力以适当的速率消费消息。
对于Kafka consumer而言,pull模式更合适。pull模式可简化broker的设计,Consumer可自主控制消费消息的速率,同时Consumer可以自己控制消费方式——即可批量消费也可逐条消费,同时还能选择不同的提交方式从而实现不同的传输语义。   

你可能感兴趣的:(kafka)