Вместо того, чтобы строить это с нуля, я бы предложил использовать для этого сервис me sh, такой как istio . Istio и многие другие сервисные сетки имеют прокси плоскости данных, такой как envoy , который перехватывает все трафики c, выходящие из одного модуля и переходящие в другой модуль. Сервисные сетки предлагают функции безопасности, такие как mTLS, ротация сертификатов TLS и телеметрия, а также многое другое.
Если плоскость управления, предлагаемая сервисными сетями с открытым исходным кодом, не поддерживает ваш конкретный c вариант использования, вы можете написать пользовательскую плоскость управления, все еще используя посланника в качестве прокси плоскости данных.