Потребитель не тянет сообщение Кафки - PullRequest
1 голос
/ 19 апреля 2019

У нас есть несколько микро-сервисов, разработанных на языках c # и go.мы используем confluent-kafka для обмена сообщениями и решения проблем: сервисы Go могут использовать сообщения, опубликованные всеми другими сервисами (будь то go или c # /. net micro service).Но микросервисы .net не получают сообщения, опубликованные самим микросервисом, а только микросервисами .net.

Мы работаем на платформе Windows и используем confluent-kafka в качестве сервера kafka и клиентов .net.В go мы используем библиотеку kafka-go (https://github.com/segmentio/kafka-go)

Примечание: в go мы библиотека kafka-go позволяет публиковать сообщение как байтовый массив. Тогда как в .net мы публикуем сообщение как обычный-text. Я не уверен, является ли проблемой для сервисов .net использование сообщений, опубликованных из go-services в виде байтового массива. Я вижу сообщения, опубликованные из go-services, в kafka-tool 2.0.

Ожидаемое поведение будет. Сервисы .net могут извлекать / использовать сообщения, опубликованные go-micro-сервисами.

1 Ответ

0 голосов
/ 19 апреля 2019

Нашли основную причину и решили.Проблема заключалась в том, что в сервисах dot net не был установлен ключ-десериализатор, и издатели dotnet не устанавливали ключ сообщения kafka, а сами издатели устанавливали ключ.поскольку в .net не установлен ключевой десериализатор, они получают ConsumerError.Теперь ключ десериализатора установлен на .net-потребителя, и проблема исчезла.

...