#amazon-web-services #spring-boot #deployment #microservices #aws-code-deploy
Вопрос:
и пытался развернуть сборку микросервисов в spring boot на aws, но не знал, какой сервис aws подходит для микросервиса perticular spring(может настроить, обнаружение служб, шлюз Api и хранилище).
Я создаю службу шлюза api при весенней загрузке, но когда дело доходит до развертывания на aws, я запутался в шлюзе api aws.
Нужно ли нам обоим работать вместе? или мы можем просто настроить SpringBoot Api gatway на экземпляре ec2.
И это вне контекста, но нужен ли нам отдельный ec2 для небольших служб, таких как «Обнаружение служб», «Служба конфигурации» и т. Д.
Спасибо
Ответ №1:
Шлюз API — это всего лишь своего рода маршрутизация к вашему приложению, независимо от того, размещено ли оно на бессерверной платформе или в контейнере EC2.
Вы можете попробовать развернуть приложение Spring Boot в среде AWS Lambda, и таким образом вам не придется думать о настройке серверной среды. В этом случае вам должен быть предоставлен холодный запуск приложения. Вы можете погуглить подробнее о том, как решить эту проблему.
Ответ №2:
Шлюз API — это как фасад перед вашими микросервисами для связи с внешними службами. Существует несколько способов использования/реализации шлюза API в зависимости от требований, таких как Маршрутизация запросов, состав API(вызов нескольких служб и объединение ответов), Аутентификация, Кэширование и т.д.
AWS API gateway хорош, если вам нужна функция маршрутизации запросов, но она не может выполнять состав API. В таком случае вам необходимо реализовать свой собственный пользовательский шлюз API, используя такие технологии, как Spring Cloud Gateway и реактивное программирование.
GraphQL-еще одна популярная технология для реализации шлюза API.
P.S. Обнаружение сервисов — это еще одна концепция. В реальной жизни вы будете использовать Kubernetes или Сервисную сетку, которая будет выполнять Регистрацию и обнаружение служб.