Развертывание нескольких микроуслуг на 1 облачном сервере - PullRequest
0 голосов
/ 14 июня 2019

У меня есть несколько (python) микросервисов, которые служат бэкэндом моего веб-приложения. Я готов развернуть микросервисы на какой-либо облачной платформе (AWS, Azure и т. Д.).

Должен ли я создать 1 ВМ и развернуть все микросервисы на одном сервере с разными портами? Если мне нужно создать 1 ВМ для каждого микросервиса, должны ли они общаться друг с другом через общедоступный IP-адрес?

Заранее спасибо!

Ответы [ 3 ]

0 голосов
/ 14 июня 2019

Как уже сказал @Imran Arshad Развернуть несколько микросервисов на одном сервере - плохая идея.Если вы находитесь на начальной стадии проекта, вы можете использовать сервис ECS AWS с 1-2 экземплярами ec2.Таким образом, вы можете получить HA по низкой цене.

0 голосов
/ 14 июня 2019

Короткий прямой ответ для вас - ДА.Вы можете сделать это, выполняя непосредственное развертывание всех микросервисов на одной виртуальной машине с использованием разных портов.И вы можете установить разные общедоступные порты для общедоступного IP-адреса в NSG настройки сети на виртуальной машине Azure.

Однако это не имеет смысла и нарушает архитектуру микросервиса.Но по моему опыту, вы можете попробовать использовать Nginx в качестве обратного прокси-сервера или использовать Docker (даже с Kubernetes) для управления вашими микросервисами на виртуальной машине на стадии разработки или тестирования.

  1. Чтобы использовать Nginx в качестве обратногопрокси для предоставления одного и того же порта с другим путем запроса для доступа к базовым микросервисам с различными портами.Это поможет снизить стоимость миграции в будущем.
  2. Рекомендуется.Использовать Docker с Kubernetes для развертывания различных образов микросервисов, например, с использованием разных виртуальных машин.Эти микросервисные инсайдерские контейнеры связывают один и тот же порт и открывают разные порты для аутсайдерных контейнеров.Затем использовать Nginx в качестве обратного прокси-сервера для этих контейнеров.В будущем это поможет легко перенести их в кластер Azure Kubernetes и получить лучшую цену, чем у виртуальной машины.

Надеюсь, это поможет.

0 голосов
/ 14 июня 2019

Создание 1 сервера убило бы цель для микросервисов. Услуги развернуты по всему несколько узлов (серверов), более конкретно несколько AZ (зон доступности)

Это также зависит от того, развернуты ли у вас автономные службы напрямую с использованием кода за сервером или вы используете контейнеры? Потому что у обоих будут разные подходы к развертыванию и обслуживанию.

...