Кластер Node.js

Я пишу приложение на Node.js, которое обслуживает динамические веб-страницы. Я хотел бы, чтобы это приложение масштабировалось на несколько ядер ЦП, поэтому я решил использовать кластер для создания рабочего процесса для каждого ядра ЦП.

Я также использую сторонний API, который необходимо часто опрашивать, проверяя изменения, и часто необходимо запрашивать и кэшировать на основе пользовательского ввода. Поскольку для этого API существуют ограничения скорости, я хотел бы иметь один экземпляр API и кешировать между всеми рабочими процессами.

Каков наилучший способ совместного использования и взаимодействия с ресурсом (кешем и сторонним API) между несколькими работниками? Должен ли я создать отдельного работника для ресурса или использовать мастер?


person user2248702    schedule 22.03.2016    source источник


Ответы (1)


Поскольку для этого API существуют ограничения скорости, я хотел бы иметь один экземпляр API и кешировать между всеми рабочими процессами.

В идеале вы должны делать эти запросы API от мастера, а затем использовать process.send для отправки их рабочим, если хотите.

person basarat    schedule 22.03.2016
comment
Пользователи также могут запрашивать данные из API через рабочие потоки, поэтому мне нужен способ запрашивать данные у рабочего. - person user2248702; 22.03.2016
comment
ага. Просто отправьте его рабочим от мастера - person basarat; 22.03.2016
comment
Но как мне запросить данные у мастера? - person user2248702; 22.03.2016