Я использую Ratchet (http://socketo.me/) для веб-сокетов в моем приложении PHP. У меня есть несколько виртуальных машин, на которых запущено приложение, и на каждой из этих машин также размещается служба websocket. Запросы передаются на одну из этих виртуальных машин через HAProxy. Также в настоящее время пользователь использует службу websocket на том же узле, который он подключает к приложению.
Теперь у меня проблема с обсуждением серверов веб-сокетов друг с другом.
Например:
Какие хорошие практики делают такого рода сообщения? У меня есть некоторые идеи, но я не уверен, какой путь:
1-й и 2-й варианты не очень масштабируемы, если новые узлы присоединены к облаку. 3-й вариант вызовет некоторое отставание, потому что необходимо проверить, находятся ли сообщения от других узлов в базе данных в цикле.
Есть ли другие варианты для решения подобных ситуаций? Спасибо за ответы!
Всего несколько заметок, которые могут указать людям в одном из возможных направлений:
Других решений пока нет …