В моем проекте .NET C# (с Confluent Kafka Library) в настоящее время я использую следующий код для прочтения новейшего сообщения с темы Kafka. Но с этим кодом я могу прочитать новейшее сообщение из определенного разделения. Но сервер Kafka каждый раз пишет значения моей темы на другой раздел (моя тема Kafka настроена для раздела 0,1,2). Таким образом, последнее (новое) сообщение в разделе не всегда является новым сообщением, которое было отправлено в Кафку со стороны источника данных. < /P>
Как я могу адаптировать свой код для трех раздела? Есть ли простая функция для этого в Cafka Confluent? Или мне приходится читать каждый раз из всех разделов с сообщением с offset.end, проверить их временную метку и решать, какой из них является новейшим? < /P>
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken cancellationToken = source.Token;
using (var consumer = new ConsumerBuilder(config).Build())
{
consumer.Subscribe("My_Topic");
while (var_true)
{
TopicPartitionOffset tps = new TopicPartitionOffset(new TopicPartition("My_Topic", 1),Offset.End);
consumer.Assign(tps);
var consumeResult = consumer.Consume(cancellationToken);
Kafka_message_total = consumeResult.Message.Value;
// additional code to send the message value to an application
System.Threading.Thread.Sleep(2000);
}
consumer.Close();
}
Подробнее здесь: https://stackoverflow.com/questions/774 ... t-has-more
Как я могу прочитать всегда новейшее (последнее) сообщение с темы Кафки, в которой есть более одного раздела (в моем слу ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как получить все сообщения из темы Кафки и подсчитать их с помощью Java?
Anonymous » » в форуме JAVA - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-