ESV RabbitMq via MassTransit. Сервисная шина предприятия. Брокер сообщений

Содержание

Слайд 2

Содержание

Сервисная шина предприятия
Брокер сообщений
RabbitMq
MassTransit
Примеры

Содержание Сервисная шина предприятия Брокер сообщений RabbitMq MassTransit Примеры

Слайд 3

Enterprise Service Bus

Сервисная шина предприятия – это, в первую очередь, концепция, которая

Enterprise Service Bus Сервисная шина предприятия – это, в первую очередь, концепция,
позволяет интегрировать разрозненные системы в единый комплекс с централизованным управлением.

Слайд 4

Основные возможности ESB

Масштабируемость соединений и маршрутизации
Преобразование протоколов
Преобразование форматов сообщений/данных

Основные возможности ESB Масштабируемость соединений и маршрутизации Преобразование протоколов Преобразование форматов сообщений/данных

Слайд 5

Брокер сообщений

Проблему Масштабируемости соединений и маршрутизации можно решить брокером сообщений. Он обеспечивает

Брокер сообщений Проблему Масштабируемости соединений и маршрутизации можно решить брокером сообщений. Он
гарантированную доставку сообщения от поставщика к подписчику

Основные протоколы:
Advanced Message Queuing Protocol (AMQP) 
STOMP
MQ Telemetry Transport 

Брокеры:
RabbitMQ
Kafka
Amazon SQS
Apache ActiveMQ
WebSphere MQ
Java Message Service

Слайд 6

RabbitMQ

RabbitMQ – брокер сообщений, основанный на протоколе AMQP (Advanced Message Queuing Protocol)

Базовые понятия
Exchange

RabbitMQ RabbitMQ – брокер сообщений, основанный на протоколе AMQP (Advanced Message Queuing
– получает сообщение от поставщика и отправляет его в очередь.
Queue - буфер который хранит сообщения
Binding –  связь между очередью и обработчиком сообщений
Routing key – ключ на который смотрит обработчик и решает куда отправить

Слайд 7

MassTransit

MassTransit - это библиотека с открытым исходным кодом, разработанная на языке C#

MassTransit MassTransit - это библиотека с открытым исходным кодом, разработанная на языке
для .NET платформы, упрощающая работу с шиной данных.

Поддерживаемые шины данных:
RabbitMq
Azure Service Bus
ActiveMQ
Amazon SQS

Возможности:
Управление подключением
Обработка ошибок и пропущенных сообщений
Сериализация (JSON, BSON и XML) + шифрование (AES-256)
Управление жизненным циклом потребителей
Сага
Планирование
Мониторинг
Модульное тестирование

Слайд 8

Инициализация MassTransit

Инициализация MassTransit

Слайд 9

Потребитель сообщения

Публикация сообщения

Потребитель сообщения Публикация сообщения

Слайд 10

Saga consumer

Saga consumer

Слайд 11

Saga state machine

Saga state machine