Всё, что тут написано про баланс между шлюзом и сервисами, реально в точку. Уже попробовал использовать Kong — удобно, что там много базовых проверок можно централизовать и не надо портить код в каждом сервисе. Nginx с Lua кажется сложнее, но для кастомных кейсов явно мощнее. Главное не пытаться засунуть в шлюз всё подряд, иначе потом сложно будет это поддерживать. Легко перегрузить систему и потерять контроль.