Выпущена версия Flexberry Service Bus 1.2.0

Опубликованны NuGet-пакеты и Docker-образы версий 1.2.0.

Основным направлением работ, в данной версии, была интеграция с брокером сообщений RabbitMQ. Цель этой интеграции заключается в увеличении производительности и пропускной способности обмена сообщениями, которую обеспечивает RabbitMQ, при этом, для управления маршрутизацией сообщений, используются привычные для пользователей понятия и инструменты.

В дополнении к основному направлению, были начаты работы по проектированию и реализации новых версий интерфейсов для клиентов Flexberry Service Bus. Перепроектирование этих интерфейсов, было начато, с целью четко разделить операции отправки и получения сообщений, и, операции управления маршрутизацией. Предыдущие версии интерфейсов помечены как устаревшие и не рекомендуются к использованию.

Что нового в версии Flexberry Service Bus 1.2.0

  • Для интеграции с RabbitMQ создан пакет NewPlatform.Flexberry.ServiceBus.RabbitMQ с реализацией следующих компонентов:
    • ReceivingManager - позволяет получать сообщения хранящиеся в RabbitMQ привычным для клиентов Flexberry Service Bus способом
    • SendingManager - позволяет отправлять сообщения в RabbitMQ привычным для клиентов Flexberry Service Bus способом
    • StatisticsService - собирает статистику сообщений RabbitMQ и преобразует ее в статистику Flexberry Service Bus
    • SubscriptionsManager - позволяет управлять маршрутизацией сообщений в RabbitMQ
    • SubscriptionsSynchronizer - актуализирует настройки маршрутизации сообщений в RabbitMQ
    • MessageConverter - преобразует сообщения в формат Flexberry Service Bus
    • MessageManager - позволяет управлять сообщениями хранящимися в RabbitMQ
  • Исправлена ошибка параллельного приема сообщений с группой
  • Обновлены зависимости до последних версий
  • Создан Docker-образ RabbitMQ настроенный для использования с Flexberry Service Bus

Интеграция Flexberry Service Bus и RabbitMQ

По умолчанию, Flexberry Service Bus, хранит получаемые сообщения, вместе с настройками маршрутизации, в базе данных. Использование RabbitMQ позволяет увеличить пропускную способность, когда поток сообщений велик, и скорости базы данных недостаточно. Обработка сообщений выполняется RabbitMQ, настройки маршрутизации, создаются и храняться, в базе данных, а Flexberry Service Bus переводит их в понятия RabbitMQ. При этом, для получения и отправки сообщений, можно использовать как интерфейсы Flexberry Service Bus так и интерфейсы RabbitMQ.

Для настройки интеграции Flexberry Service Bus и RabbitMQ необходимо:

Поделиться в: ВКонтакте, Twitter, Facebook.