Как смоделировать название вашего паба / подтемы для будущих версий - PullRequest
2 голосов
/ 31 мая 2019

Мы используем темы кафки классическим способом.

Много раз мы сталкивались с необходимостью обновить наших потребителей тем из-за модификации json или логики смены потребителей. так что мы делаем:

мы делаем версии наших тем, например, my_topic_v1 .

Теперь, когда происходят какие-то изменения, например, изменения json, изменения логики потребителя, мы обновляем тему до v2, и нам нужно также выпустить нового производителя / потребителя (чтобы он мог транслироваться до v2, а новый версионный потребитель будет потреблять из v2)

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

Любые другие предложения, как сделать это лучше? как мы думаем, мы не все делаем правильно

Спасибо

1 Ответ

0 голосов
/ 31 мая 2019

Попробуйте указать название темы как <topicname>.<version>.

например.mytopic.ver1

Конец производителя будет затронут во время выпуска, так как данные будут перенесены в пост-релиз новой темы, в то время как сторона потребителя может быть обработана путем определения имени темы в виде регулярного выражения - mytopic.*.

оформить документы - topics.regex - ссылка подписаться

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...