Хранение данных между серверами, для быстрого доступа?
Привет, я хотел бы реализовать сервис с использованием веб-сокетов. Мне нужно запоминать каждый сокет хранить все сокеты в объекте, выбирать нужные и удалять не нужные. Проблема в том что у меня реализована кластеризация и в связи с этим запущено несколько процессов. Хотел реализовать без использования redis т.е хранить все в master процесс, но и здесь проблема у меня не один сервер а несколько, и через hapProxy балансировка, поэтому этот вариант тоже отпадает, как реализовать это например с использованием redis или memcached?
Я бы не хотел использовать redis клиент и тому подобное, т.к у меня очень маленькая задача, у меня нету кеширования данных, просто один средний объект, поэтому я хочу реализовать свою задачу следующим образом: у меня 4 сервера и один балансировщик в каждом из четырех серверов реализована кластеризация (в каждом сервере по 4 процесса) в сумме у меня 20 процессов.
Когда балансировщик перенаправляет пользователя допустим на сервер №1, то именно на этом сервере происходит событие connection у websocket, а когда происходит событие connection, я добавляю пользователя т.е сокет пользователя в объект всех пользователей т.е сокетов пользователей, но у меня на сервер №1 сейчас добавился сокет, но на остальных серверах не добавился, т.к на этих серверах не было перенаправление, конечно можно сделать с помощью редис(на отдельном сервере), при каждом событии connection добавлять сокет в редис, а потом обращаться к этому серверу, но здесь есть ряд минусов.
Я бы хотел сделать следующее: При каждом событии connection я добавляю сокет пользователя в объект а потом отправляю этот сокет пользователя другим серверам и они добавляют этот сокет пользователя в свой объект сокетов пользователей, эффективно ли такое решение?
Но и здесь большой минус. Я буду тратить много трафика на отправку объекта =(