Вы просто не можете больше использовать avro-console-consumer
(или Потребителя с десериализатором Avro) для чтения этих смещений, потому что он предполагает, что все данные в теме - это Avro, и использует Confluent's KafkaAvroDeserializer
.
Простой console-producer
будет выдвигать строки UTF-8, не кодированные Avro, и использовать StringSerializer
, что не будет соответствовать формату провода, ожидаемому для десериализатора Avro
[ 118] Единственный способ обойти их - узнать, какие смещения являются плохими, и подождать, пока истечет срок их действия по теме, или сбросить группу потребителей, чтобы они начинались после этих сообщений. Или вы всегда можете использовать ByteArrayDeserializer
и добавить несколько условных логических схем для анализа ваших сообщений, чтобы избежать потери данных.
TL; DR Производитель и потребитель должны согласовать формат данных темы.
платформа необходима для приложений с помощью этой определенной платформы. таким образом, при использовании 2,0 или 1,0 приложений (или в будущем), не удаляйте их - иначе: Вы свободны как птица сделать так :)
Нет, для приложений, сделанных с более старыми платформами, будут все еще нужны они установленный.
Вам все еще будут нужны более старые версии для более старого приложения .NET для выполнения.
Кроме того, Версии 3.0 и 3.5 являются на самом деле не больше, чем расширениями 2,0 так для 3,5 самостоятельно для работы, все еще необходимо оставить 2,0 установленных.
Обычно просто не желательный для удаления любого из них.
По моему скромному мнению, можно удалить.NET 1.0/1.1 - я удалил ее один и не сделал видел, что любое приложение требовало его.
Вы не можете удалить.NET 2.0, потому что 3.0/3.5 просто расширяет функциональность 2,0 - самая большая часть его является stilled, содержавшим в 2,0