Я создал приложение nodejs, которое отлично работает на одном ядре. Это приложение использует socket.io для легкой и быстрой связи.
Теперь я хотел масштабировать свое приложение по вертикали, позволив ему работать на многоядерной системе -с помощью модуля cluster
в nodejs.
Все в моем приложении хранит данные в Redis, поэтому нет проблем с некоторыми базовыми данными и сеансами.
Однако, когда я создаю несколько рабочих процессов с помощью кластера, кажется, что каждый рабочий процесс имеет свою собственную обработку сокетов.
Например, предположим, что есть чат, который называется «гостевой».
Пользователь A и пользователь B подключаются к комнате и распределяются между разными рабочими процессами.
Поскольку они находятся в разных процессах, и эти процессы не используют общий прослушиватель сокетов,пользователь A и пользователь B не могут общаться друг с другом.
Каков хороший подход к решению этой проблемы? Поддерживает ли socket.io многоядерную систему -?
Является ли socket.io только для одноядерного использования?