Нужно ли нам вручную кэшировать реестр схем?

В настоящее время мы используем буферы протокола в качестве механизма сериализации для сообщений кафак. Собираемся переехать в Авро. Мы протестировали потребителя Avro Confluent с помощью Schema Registry, и, согласно этим тестам, потребитель Avro немного медленнее по сравнению с потребителем protobuff.

Мой вопрос: нужно ли нам вручную обналичивать схемы или Python AvroConsumer самостоятельно обрабатывать деньги? Использую confluent_kafka AvroConsumer.


person GihanDB    schedule 04.05.2018    source источник


Ответы (1)


Некоторое время назад у меня была такая же проблема: дополнительная задержка, когда вы переходите от Google protobuf, что очень быстро, к чему-то вроде Avro + Schema Registry.

У вас определенно есть возможность кэшировать схемы вручную. Однако большинство приличных клиентов kafka, которые общаются с SchemaRegistry, уже должны это делать. По крайней мере, клиент Java kafka от Confluent делает это автоматически. Таким образом, он должен отправить запрос в реестр схемы только тогда, когда он встречает версию схемы, которую еще не видел.

person mjuarez    schedule 08.08.2018