0

Я пишу приложение узла, которое имеет две основные задачи. Предположим, что задача A (которая читается с уровня кэширования и отвечает на запросы) и B (который является сервером манипуляции, отвечающим на запросы, которые не обрабатываются задачей A). В будущем я знаю, что задача A будет более широко используемой задачей, а задача B будет ограничена новыми запросами (почти 10% от общей нагрузки).Связь между различными серверами приложений в многоуровневом приложении

Учитывая эту ситуацию (а также различную природу задачи A (интенсивность сети) и B (интенсивность процессора)), я думал о развертывании задачи A и задачи B на разных серверах, чтобы их можно было масштабировать или вниз, независимо от другого.

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

ответ

0

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

Я возьму на себя простейший случай и у вас есть некоторые задачи, которые прослушивают URL-адреса./taskA и/taskB. Обычно вы решаете это с помощью своего рода слоя отправки, который будет отправлять разные URL-запросы другим серверным серверам.

Например, если Apache или NGinix являются обратным прокси-сервером перед серверами приложений и перенаправляют запрос на правильный серверный сервер для обслуживания.

+0

Спасибо за ваше предложение. Но дело здесь в том, что taskB никогда не будет напрямую доступен клиенту. Это всегда было бы через задачу. Я не уверен, что Apache/Nginx infront серверов приложений будет правильным способом в этом случае. Вам нужен ваш совет. Кроме того, оба сервера будут записаны в NodeJS (на данный момент). –

+0

Хорошо, тогда это легко, выставить TaskB на другом сервере в качестве URL-адреса и вызвать его через HTTP с использованием JSON в качестве полезной нагрузки из TaskA. С JSON в NodeJS легко работать. –

Смежные вопросы