Создание нескольких HTTP-серверов на одном хосте / порте - PullRequest
0 голосов
/ 29 августа 2018

Я хочу запустить несколько некластеризованных статей на моем веб-сервере. Каждая вертикаль запускается отдельным процессом / командной строкой и создает свой собственный HTTP-сервер ( vertx.createHttpServer ) для того же хоста и того же порта с уникальными маршрутами , Однако это, похоже, не работает, потому что после запуска одной вертикали все последующие вершины выдают исключение BindException " Адрес уже используется ".

Как новичок в Vert.x, я могу думать только о двух способах пройти это:

  1. Программно развернуть все статьи из одного процесса, и заставить все статьи использовать глобальный экземпляр маршрутизатора для добавления их конкретные маршруты.
  2. Сгруппируйте статьи и создайте дополнительную статью это обеспечивает веб-сервер, который позволяет устанавливать маршруты и обрабатывать запросы и ответы по кластерной шине событий.

Оба подхода заставили бы меня переписать большую часть моих статей.

Есть ли другой способ обойти эту проблему с несколькими серверами?

1 Ответ

0 голосов
/ 29 августа 2018

Каждая вертикаль запускается отдельным процессом / командной строкой и создает его собственный HTTP-сервер (vertx.createHttpServer) для того же хоста и тот же порт

TCP-соединения позволяют только одному процессу прослушивать один и тот же порт на одном хосте. Есть несколько способов обойти это (см. Ответы на этот вопрос ), но я не уверен, что это лучшее решение.

... для того же хоста и того же порта с уникальными маршрутами

Vertx-Web предоставляет множество способов маршрутизации запросов. Одним из таких методов, который я недавно использовал, является суб-маршрутизатор , который может оказаться для вас жизнеспособным решением. Вы можете настроить «основной» маршрутизатор для маршрутизации запросов на разные маршрутизаторы для каждого «уникального маршрута», который вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...