Где находится перекрестная подписка / государственный магазин?
Когда подписки создаются и поддерживаются с помощью панели, где они хранятся? Я быстро просмотрел исходный код и решил, что все они хранятся в локальной памяти процесса. Это правильно? Что такое модель горизонтального масштабирования, если материал хранится в памяти? Ожидается, что соединения будут привязаны к данному узлу? Что делать, если соединение разрывается и переустанавливается или серверный узел отключается? Эти соединения теряют все состояние (информация о подписке)?
1 ответ
Модель горизонтального масштабирования, которую внедрит Crossbar.io (будет выпущена в 2015 году), описана здесь. На узле Crossbar.io состояние подписки временно сохраняется в памяти процесса (каждого процесса маршрутизатора) и синхронизируется между процессами маршрутизатора. Данный клиент всегда подключен к одному узлу. Когда он теряет связь, его подписки исчезают. Когда узел выходит из строя, клиент автоматически переподключается - к другому узлу в кластере. Клиент должен будет восстановить свои подписки на новом узле. Два клиента, подключенные к двум различным узлам (и одной и той же области), где оба узла являются частью одного кластера, будут прозрачно взаимодействовать.