Опубликованны 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
необходимо:
- Экземпляр
RabbitMQ
с которым будет интегрированнаFlexberry Service Bus
- Сконфигурировать компоненты
Flexberry Service Bus
, пример конфигруции можно найти в репозитории, ключевые моменты: