Опубликованны 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 BusSubscriptionsManager- позволяет управлять маршрутизацией сообщений вRabbitMQSubscriptionsSynchronizer- актуализирует настройки маршрутизации сообщений вRabbitMQMessageConverter- преобразует сообщения в форматFlexberry Service BusMessageManager- позволяет управлять сообщениями хранящимися в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, пример конфигруции можно найти в репозитории, ключевые моменты: