Что такое схема ключей в реестре схем?

У меня нет точного представления о схеме ключей, о том, что это такое и почему его нужно использовать в качестве ключа, автоматически генерируется, и мы просто передаем значение (сообщение).

В качестве значения мы передаем схему в сериализатор AVRO, и сериализатор получает свой идентификатор схемы из реестра схем и встраивает идентификатор схемы со значением (сообщением), которое мы передали (поправьте меня, если я ошибаюсь). Что происходит с ключом?

Нужно ли нам также передавать схему ключей? Какова важность передачи ключевой схемы? И как передать ключевую схему?

2 ответа

Сообщения Kafka - это пары ключ / значение. То, что вы устанавливаете ключ, зависит от вас и требований того, что вы реализуете.

Ключ сообщения используется для назначения раздела. Как правило, вы вводите сообщение, основываясь на ожидаемой обработке и любом строгом порядке, который вы хотите наложить на данные. Например, если вы хотите, чтобы в одной и той же группе потребителей было несколько параллельных процессов, и каждый процесс получал все записи для данного клиента, вы должны ввести идентификатор клиента.

Добавление дополнительной информации с ответом @ Робина,

Поскольку каждое сообщение kafka будет иметь ключ и значение, ключ может иметь значение null или какое-либо значение примитивного типа.

Если вы отправляете сообщение с ключом строкового типа и значением целочисленного типа для темы T, реестр схемы создает две темы: T-key и T-value.

Т-ключ будет хранить авро-схему типа строкового ключа. Если к сообщению не прикреплен ключ (нулевой тип), он не зарегистрирует никакую схему в реестре схемы.

Другие вопросы по тегам