Использование grpc для межсервисного взаимодействия
Как правильно использовать grpc для взаимодействия нескольких сервисов. С помощью grpc мы можем удаленно вызывать процедуры в другом сервисе, но что если таких сервисов несколько, к примеру, сервис1 должен вызввать процедуры на сервисе2 и сервисе3, каким образом будет реализовано это взаимодействие, для взаимодействия с каждым сервисом будут созданы отдельные классы ? А если другие сервисы могут вызывать процедуры на сервисе1, он будет выступать как в качествие клиента, так и в качестве сервиса? Получается, для одно сервиса(если это сервис API, первый в цепочке) будет необходимо описывать большое количество .proto файлов? Если есть возможность, приведите пожалуйста пример взаимодействия между несколькими сервисами.