Как я могу прочитать всегда новейшее (последнее) сообщение с темы Кафки, в которой есть более одного раздела (в моем слуC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу прочитать всегда новейшее (последнее) сообщение с темы Кафки, в которой есть более одного раздела (в моем слу

Сообщение Anonymous »

В моем проекте .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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»