LINUX.ORG.RU

История изменений

Исправление mashina, (текущая версия) :

У меня риал тайм мессенджер. Хотелось бы сделать все красиво и масштабируемо.

В таком случае нужно делать шарды инстансов сервера по хэшам от пользователя (см. например, что такое consistent hashing) и прибивать все запросы для конкретного пользоваться к определённому шарду где всё время в памяти поднято его состояние + нужно иметь очереди сообщений между шардами (если пользователь X отправляет сообщение пользователю Y, то сначала оно проходит через стейт пользователя X на инстансе U(i) где валидируется, далее по MQ пересылается на шард U(j) с состоянием пользователя Y где и ожидает получения). Это всё несколько геморно в реализации, потому без необходимости не стоит думать о масштабируемости.

Исходная версия mashina, :

У меня риал тайм мессенджер. Хотелось бы сделать все красиво и масштабируемо.

В таком случае нужно делать шарды инстансов сервера по хэшам от пользователя (см. например, что такое consistent hashing) и прибивать все запросы для конкретного пользоваться к определённому шарду где всё время в памяти поднято его состояние + нужно иметь очереди сообщений между шардами (если пользователь X отправляет сообщение пользователу Y, то сначала оно проходит через стейт пользователя X на инстансе U(i) где валидируется, далее по MQ пересылается на шард U(j) с состоянием пользователя Y где и ожидает получения). Это всё несколько геморно в реализации, потому без необходимости не стоит думать о масштабируемости.