Я разделяю свое приложение на два проекта, один для внешнего интерфейса (react app
), а другой - для серверной части (spring boot app
). Теперь я хочу развернуть интерфейс на example.com
, и в конце example.com/api
(не api.example.com
). Передняя и задняя части гарантированно не имеют общих URL. Какую технологию я могу использовать для этого?
В Amazon Web Services вы также можете использовать ELB с типом Application Load Balancer для разделения запросов на отдельные серверы на основе имени хоста и пути. Этот метод имеет дополнительный бонус, позволяющий использовать SSL на балансировщике нагрузки и настроить Amazon Certificate Manager для автоматического предоставления и обновления сертификата SSL.
Nginx позволит вам отправлять запросы на любой сервер, который вам нравится, на основе URL-адреса. При желании он также может кэшировать. Nginx быстрый, простой и не требует больших ресурсов, его можно установить на один из ваших существующих серверов.
Многие другие продукты делают это - Apache, HAProxy и т. Д. Инструмент, который вы ищете, вероятно, лучше всего назвать балансировщиком нагрузки.
Обновить
Я только что заметил ваш тег AWS, которого не было в тексте вашего вопроса. AWS Балансировщик нагрузки приложений может быть лучшим выбором, чем развертывание Nginx. Это может оказаться более дорогим, но управляемые службы, как правило, более надежны, чем отдельные серверы.