В 2019 году я выложил в Open Source библиотеку для вызовов микросервисов через RabbitMQ, поддерживающий распределённую трассировку запросов с помощью Application Insights или Open Tracing и JWT bearer токены для авторизации.

Мне это кажется невероятно полезным, я использую это на работе, вот почему:

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

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

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

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

Призываю использовать и делать совместимые порты для других языков. На вопросы отвечу.