Если у меня есть интерфейс React и серверная часть микросервисов, могу ли я иметь две цели развертывания (S3 для внешнего интерфейса, EKS для внутреннего интерфейса)?

Создав статический интерфейс, я подумал о том, чтобы развернуть его на сервере статических ресурсов, таком как S3, при развертывании моего внутреннего интерфейса микросервисов с использованием кубернетов в вычислительном сервисе, таком как EC2 или EKS.

Однако мое исследование выявило только один подход: создание внешнего интерфейса как службы в моем кластере кубернетов.

Мои вопросы:

  1. Возможно ли иметь две цели развертывания, как я думал выше?
  2. Если возможно, каковы плюсы и минусы этого (в частности, будет ли связь между интерфейсом и серверной частью сложной?)
  3. Есть ли какие-либо другие подходы к развертыванию, кроме этих двух?

Для дополнительного контекста, мой интерфейс - это приложение React, созданное с помощью create-response-app, и я уже извлек его с помощью производственной сборки. Мой бэкэнд состоит из нескольких микросервисов NodeJS.

# kubernetes microservices
Источник
  • 0
    Мне это кажется достаточно разумным подходом; есть ли у вас конкретная проблема?
  • 0
    Я еще не пытался развернуть, но, учитывая подход, который мне показался разумным, я был удивлен, что не смог найти никаких ресурсов, упоминающих такой подход. Все ресурсы, которые я нашел, описывали развертывание внешнего интерфейса как службы в кластере, что привело меня к двум возможным выводам: 1) я не ищу правильные ключевые слова или 2) интерфейс в кластерном подходе предпочтительнее.
  • 1
    Webpack скомпилирует интерфейс в статические файлы, после чего вы можете использовать S3 для их обслуживания или запустить собственный простой HTTP-сервер. Есть несколько веских причин передать его на S3, если вы можете (включая возможность хранить старые версии для клиентов, которые не перезагружались достаточно недавно).
Codelisting
за 3 против
Лучший ответ

Is it possible to have two deployment targets like my thought above?

Да, это возможно.

If possible, what are the pros/cons to doing so (in particular, will communication between frontend & backend be tricky?)

В случае статического внешнего интерфейса браузер (клиент) общается с серверной частью, пока пользователь может общаться с серверной частью, все должно быть в порядке.

Are there any other deployment approaches to consider besides these two?

Вы можете развернуть свой интерфейс где угодно, вы можете проверить другие варианты, такие как https://www.netlify.com/ и https://vercel.com/

Эта статья должна дать вам лучшее представление о Kubernetes с похожей архитектурой https://www.freecodecamp.org/news/learn-kubernetes-in-under-3-hours-a-detailed-guide-to-orchestrating-containers-114ff420e882 /

Codelisting
Популярные категории
На заметку программисту