kafka教程-消费者和消费组

说明

所有的消费者都属于某个 消费者组(consumer group) ,由 一个 或者 多个 消费者组成一个 group,共同消费一个topic。

  • 每个分区在同一时间只能由group中的一个消费者读取
  • 不同group的消费者可以同时消费这个partition,即:同一个消息,它们都会获取到

由三个消费者组成的 group ,有一个消费者读取 topic 中的两个分区,另外两个分别读取一个分区。

某个消费者读取某个分区,也可以叫做某个消费者是某个分区的拥有者。

在这种情况下,消费者可以通过水平扩展的方式同时读取大量的消息。另外,如果一个消费者失败了,那么 该 group内的其他成员 会自动负载均衡读取之前失败的消费者读取的分区。

多个应用读取同一个主题的消息

比如电商平台下订单后,订单生产者将 订单 发送到kafka,多个应用都要消费该消息:

  • 支付应用 接收消息进行支付
  • 通知应用 接收消息,要通知商家
  • 物流应用 接收消息,要处理发货

像这种,发送一次消息,支持多个应用都可以读取消息,各应用需要指定不同的消费组,即:不同消费组中的消费者,可以读取到全量消息


原文出处:/show_1IX202sleXSf.html