Envoy прокси с rabbitmq

Мы осуществляем переход на микросервисы приложения основной консоли .net. в настоящее время каждый микросервис работает в цепочке и помещает сообщения в rabbitmq, затем следующий сервис выбирает сообщение из rabbitmq, обрабатывает его, затем помещает в другой rabbitmq .... у нас есть около 9 сервисов.

Мы наблюдаем проблемы, при которых службы не работают, и понятия не имеют, почему, но часто наблюдаем проблемы с подключениями rabbitmq или сетевые проблемы, попадающие на следующий сервер (у некоторых виртуальных машин все службы размещены в одном ящике, другие распределяются между ящиками) Я искал в доверенности посланника, поскольку он имеет дело с выключателем и т. д. и утверждает, что имеет наблюдаемость

Однако я не могу найти нигде в Интернете, чтобы кто-нибудь использовал прокси-сервер envoy с rabbitmq.

Можно ли таким образом использовать прокси-сервер envoy с rabbitmq? Или прокси-посланник действует как очередь?

В настоящее время мы обрабатываем около 4000 сообщений в секунду, и нам необходимо обрабатывать их в максимально реальном времени.


person Quade    schedule 12.08.2020    source источник


Ответы (1)


Envoy не действует как очередь, поэтому он не может заменить вашу систему связи на основе сообщений. Однако он может передавать прокси-трафик на серверы RabbitMQ и с них, чтобы дать вам кое-что из того, что вы ищете.

Вам нужно использовать TCP Proxy для настройки обратных прокси TCP для RabbitMQ. Тогда все ваши серверы должны подключаться к прокси-серверу Envoy, а не напрямую к очереди сообщений. Встроенная статистика Envoy будет затем выводить метрики TCP-соединений (все протоколы RabbitMQ кажутся TCP), которые он обрабатывает. Он также поддерживает автоматические выключатели, тайм-ауты, повторные попытки и т. Д., Так что вы получите все это. Но вам определенно придется настроить их для вашего конкретного развертывания.

Мы использовали этот шаблон несколько раз в моей компании, только с Kafka, а не с RabbitMQ. Однако, поскольку они оба основаны на TCP, они должны работать одинаково.

person justincely    schedule 19.08.2020