Судя по твоей схеме, у тебя все запросы через этот api gateway идут. Почему сервис который работает с api, стучится в auth, он авторизовывается?
Но и в целом эта система говно с одной точкой для всех запросов.
- Если дудосеры дудосят шлюз - всё страдать будет:
client => gateway => auth | payment | other | ...❌
Твой шлюз это по сути
фасад, так используй разные фасады для разных задач, чтобы твою единственную точку входа до смерти не долбили:
client => auth gateway => auth1 | auth2 | auth3 | ...✅
client => payments gateway => payment1 | payment2 | shipment | ...✅
payment1 | payment2 | shipment | other | ... => db gateway => dbservice1 | dbservice2 | dbservice3 | ...✅
Если ты собрался выдавать каждому встречному-поперечному сервису доступ к базе - то тебе не нужны микросервисы.
Если используешь их, то твой "dbservice" должен уметь множится.
В зависимости от нагрузки на каждый отдельный экземпляр "dbservice", "db gateway" - должен решить, куда направить запрос.