Чтобы приобрести опыт с микроспрвисами с точки зрения разработки, нужно понаступаиь на грабли в первую очередь, он все равно не будет проектировать системы на сотни сервисов, разработчикам достаточно более базовых знаний и умением в этом плане
Разработчику не особо важно самый он оптимальный вариант разбивки выбрал или нет, наиболее важна сама концепция и в целом сделать работающие сервисы для себя, а так как это для себя, он потом будет видеть огрехи и перепишет заново
Ну понятно что проверку всяких клеймов можно отдать на гейтвей, сервисы сами друг друга не ищут в любом случае напрямую, таким образом можно вынести эту инфраструктуру из сервисов вовсе