События базы данных или опрос в nodejs (мембрана)

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

Сами узлы имеют клиентов, которых нужно информировать, когда глобальное состояние было изменено, но я вижу только один способ - опросить состояние из мембраны и отправить его клиенту при его изменении. Таким образом, у меня есть трафик между клиентом и сервером только тогда, когда изменение произошло, но у меня будет постоянный трафик между сервером и мембраной, что не в смысле неблокирующего ввода-вывода узла.

Есть ли способ лучше?

1 ответ

Лучший способ добиться этого - воспользоваться функцией паб-саба Redis. Вы используете канал для отправки сообщений, и все ваши узлы подключены к этому каналу. Когда новое сообщение получено, все узлы могут реагировать.

Узнайте больше о паб-sub функции Redis с Node:

http://howtonode.org/redis-pubsub
Реализация Pub/ Sub в nodeJS
http://laktek.com/2010/05/25/real-time-collaborative-editing-with-websockets-node-js-redis/

Другие вопросы по тегам