Я хочу прочитать из темы __consumer_offsets с помощью этой библиотеки: https://github.com/segmentio/kafka-go
Моя проблема в том, что, если я не укажу раздел, ничего не произойдет. По умолчанию в этой теме 100 разделов, кажется неоправданным запрашивать у kafka список разделов, а затем перебирать их, чтобы прочитать их, и я надеюсь, что в библиотеке уже есть существующий метод, который читает сообщения со всех разделов. в теме.
В настоящее время работает следующее, после того как я проверил с помощью kafkacat, что в разделе 15 раздела __consumer_offsets есть сообщения:
r := kafka.NewReader(kafka.ReaderConfig{
Brokers: []string{"kafka:9092"},
Topic: "__consumer_offsets",
Partition: 15
})
r.SetOffset(0)
for {
m, err := r.ReadMessage(context.Background())
if err != nil {
log.Println("Error while trying to read message")
log.Fatal(err)
break
}
log.Printf("message at offset %d\n", m.Offset)
}
r.Close()
Я полагаю, что выбор раздела должен быть прозрачным на уровне пользователя, если в этом нет необходимости. Я не прав?
Есть ли способ чтения из темы независимо от того, в каких разделах находятся сообщения? или перефразировать, читать со всех разделов?