Каков наилучший способ передачи заголовков Кафки в распределенных приложениях?

#spring #apache-kafka #header

#весна #апач-кафка #заголовок

Вопрос:

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

Что это значит? Пожалуйста, взгляните на следующий пример изображения:

пример архитектуры

Наш Component A получает события и генерирует на основе содержимого уникальный заголовок с информацией метаданных о событии. После обработки результат передается в Topic A сгенерированный заголовок.

Component B и Component C получите эти события, начните обработку и запишите их результаты в Topic B и Topic C . Эти компоненты не используют сгенерированные заголовки из Component A .

Но Component D нуждается в этом. Поэтому Component B и Component C должен получить заголовок и передать его.

Наша система в проекте немного больше, чем в этом примере, и именно поэтому мы задали себе вопрос: как лучше всего передавать заголовки Кафки через эти компоненты. Есть ли автоматический способ?

Мы рассмотрели следующие подходы:

  • Вообще не используйте заголовки Кафки и передавайте информацию о метаданных через тело.
  • Использование перехватчиков (если это вообще возможно)

К вашему сведению, мы используем пружинный ботинок.

Заранее спасибо, Майкл