RabbitMQ Traceable Messaging

Коммуникационная библиотека для RabbitMQ с поддержкой распределённой трассировки (Application Insights) и JWT-авторизации.

Зачем?

Нужно для микросервисов на RabbitMQ потому, что:

  1. Без распределённой трассировки отсутствуют средства диагностики отказов при обработке цепочек вызовов в микросервисах; "микро" для сервисов подразумевает большое их количество, отсюда длинные цепочки вызовов и сложность установления причин отказов. Распределённая трассировка всё хорошо показывает.
  2. Без JWT bearer нет сквозной авторизации пользователя.

JWT bearer и решения по распределённой трассировке есть для HTTP долгие годы, но для RabbitMQ их не было.

Почитайте подробнее почему следует строить микросервисную архитектуру на RabbitMQ.

Как использовать?

Сами библиотеки (.NET) — https://github.com/dmlarionov/RabbitMQ.TraceableMessaging

Пример использования — https://github.com/dmlarionov/RabbitMQ.TraceableMessaging-example1

Как участвовать в развитии?

Пожалуйста, делайте совместимые порты для других языков. Чтобы улучшить мой код, делайте Pull-Request на GitHub.