Ответ
Группа консьюмеров (consumer group) — это набор консьюмеров, совместно обрабатывающих сообщения из одного или нескольких топиков. Каждый консьюмер в группе получает уникальную часть партиций, обеспечивая параллельную обработку и балансировку нагрузки.
Одиночный консьюмер обрабатывает все сообщения самостоятельно. Если он падает, обработка останавливается. В группе консьюмеров при выходе одного из участников его партиции автоматически перераспределяются между оставшимися.
Пример (Kafka):
// Одиночный консьюмер
consumer, _ := sarama.NewConsumer([]string{"localhost:9092"}, nil)
partitionConsumer, _ := consumer.ConsumePartition("topic", 0, sarama.OffsetNewest)
// Группа консьюмеров
config := sarama.NewConfig()
group, _ := sarama.NewConsumerGroup([]string{"localhost:9092"}, "group-id", config)
Группы используются для масштабирования и отказоустойчивости, одиночные консьюмеры — для простых сценариев.