Поддержка прямого, недолговечного обмена сообщениями с помощью связывателя Solace для Spring Cloud Stream - PullRequest
0 голосов
/ 03 июня 2019

У меня есть приложение Spring Boot 2, которое действует только как издатель сообщений, и другое приложение Spring Boot 2, которое действует только как потребитель сообщений.

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

  • производитель публикует сообщения на недолговечную тему
  • потребитель подписывается на недолговечную тему при запуске и отписывается, когда она закрывается

При изучении параметров конфигурации я попытался определить назначение ввода (spring.cloud.stream.bindings.input.destination) как с группой потребителей, так и без нее, со следующими результатами:

  • с группой потребителей: Несоответствие возможностей: Маршрутизатор не поддерживает долговременное управление конечными точками.

  • без группы потребителей: Несоответствие возможностей: Маршрутизатор не поддерживает гарантированные абонентские потоки.

Исключение для обеих этих опций предполагает долговременную / гарантированную привязку к месту назначения, а не то, что мне нужно.

У меня вопрос: поддерживается ли недолговечный сценарий средством связывания Solace для Spring Cloud Stream?

Если я не поддерживаю механизм связывания SCS, могу ли я достичь того, что имею после использования Solace JMS?

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

Я полагаю, у вас есть два варианта:

  1. без указания группы потребителей Привязка Solace Spring Cloud Streams создаст временную очередь, которая будет подписана на интересующую вас тему (и). Это где ваше приложение SCS будет связывать. Эта очередь существует только на время сеанса клиента, поэтому она будет удалена после закрытия вашего приложения. Но пока ваше приложение все еще работает, использование очереди дает дополнительное преимущество, заключающееся в том, что сообщения не будут потеряны во время сбоя сети, или аварийное переключение HA брокера (если вы настроены для HA). Обратите внимание, что поскольку очередь является гарантированной конечной точкой в ​​утешении, ваш брокер и клиентский профиль должны быть настроены для гарантированной доставки. Большинство брокеров теперь настроены для этого, но вы хотите убедиться, что в вашем клиентском профиле отмечены следующие опции: «гарантированное создание конечной точки», «гарантированное получение сообщения» и «гарантированная отправка сообщения»

  2. Если первый вариант не работает для вас, то вы правы, что вы можете использовать JMS для создания тематической подписки. Здесь также есть несколько вариантов - вы можете использовать Spring Boot Autoconfig от Solace, который вы можете найти здесь: https://github.com/SolaceProducts/solace-jms-spring-boot, или если вы предпочитаете создавать свои собственные JMS-артефакты, пример того, как это сделать, можно найти в " Прием сообщения "раздел здесь: https://solace.com/samples/solace-samples-jms/publish-subscribe/

0 голосов
/ 03 июня 2019

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

...