но скажите в таком подходе это не приведет к слишком усложненной структуре ? я в том плане что центральный АПИ всегда будет участвовать в запросах, и собственно время полного цикла запроса будет большим.
Вопрос такой, допустимо что например апи сервис 2 один раз узнает лимиты, а потом они передаются в его базу и там уже проверяются, локально только на том апи ? такое дублирование имеет место быть ?
Так и используйте ее в этих целях, зачем вам единая БД?
В каждом сервисе пусть будет своя локальная база со своими данными и с правами и лимитами, обращайтесь напрямую к этим сервисам за их данными. А когда возникает необходимость получения данных из нескольких сервисов и нужно привести их к единому формату - делайте это через отдельный сервис(который у вас сейчас главный), собирайте на нем пачку данных и отдавайте на фронт, либо же вообще делайте это на стороне клиента - то есть отправили с клиента n запросов на n api, и в клиенте же привели их к нужному формату и отобразили. Тут уже больше зависит от того, какое звено менее нагружено, там это и можно делать. Если же для клиента это "тяжело", то как сказал выше - пусть этим и занимается этот центральный апи.
По крайней мере из той информации, что Вы предоставили, я не вижу необходимости вводить центральный апи, который будет узким местом. Ваша архитектура полностью укладывается в нормальные обособленные микросервисы.