Spring Cloud Streams Multi-Binder RabbitMQ против плагина / приложения Shovel

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

Мы хотим связать эти две системы, используя Spring Cloud Stream.

Случай А

Обе системы используют RabbitMQ в качестве посредника сообщений.

Какой подход лучше:

  1. Multi-Binder (spring.cloud.stream.binders) позволяет подключаться к двум разным административным доменам. "Конфигурация мульти-связующего environment.spring.rabbitmq вынуждает нас создавать совершенно новый дочерний контекст приложения, который не учитывает компоненты, сконфигурированные приложением "... что вызывает некоторые проблемы
  2. Плагин Shovel, который перемещает сообщения между двумя разными административными доменами и не заставляет систему выходить за пределы своего домена. Готово ли производство Shovel Plugin?

Дело Б

Первая система использует RabbitMQ, а вторая использует брокер сообщений Kafka.

Какой подход лучше:

  1. Мульти-связующее - аналогично случаю А.1.
  2. Приложение интеграции Shovel реализовано в виде мультибиндера Spring Cloud Stream, который работает как плагин для нескольких брокеров Shovel. В этом случае наша система не вынуждена выходить за пределы своего домена.

Я думаю, что A.2 и B.2 - лучшие решения, но я хотел бы обсудить это с опытными разработчиками программного обеспечения.

0 ответов

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