Использование RabbitMQ для связи в микросервисной архитектуре, но должен ли я создать API-шлюз сверху?
У меня есть программное обеспечение меньшего размера, использующее архитектуру Microservice. В настоящее время я использую RabbitMQ для связи между пользовательским интерфейсом и сервисами, и это прекрасно работает.
Однако я думаю о создании нового микросервиса, API-шлюза, который в основном берет логику RabbitMQ из пользовательского интерфейса и инкапсулирует в сервис, который станет точкой входа для всех других сервисов.
Преимущество состоит в том, что я бы инкапсулировал логику, которая предоставляет доступ к сервисам, а также возможность добавить аутентификацию в шлюз API.
Однако мне нужно будет использовать HTTP-запрос для взаимодействия с API, поскольку я перемещаю логику обмена сообщениями из пользовательского интерфейса. Могут ли быть какие-либо серьезные недостатки в этом подходе?
У меня была возможность найти примеры о RabbitMQ и примеры о шлюзах API, но никогда не вместе, я мог бы просто немного обдумать это.