Состояние игры сохраняю в редисе, сериализуя в JSON формат.
Проблема с асинхронностью.
Несколько раз была такая ситуация, игроки практически одновременно что-то делали, ключу устанавливалось значение с учётом изменений первого игрока, но потом их моментально стирал второй игрок, опираясь на старые данные. Как быть в такой ситуации?
Например Объект "Игра" сериализую в JSON и кидаю в редис При каком-то действии первого игрока, ему добавляются очки Аналогично со вторым Но если они сделают это практически одновременно, они одновременно забирают объект игры, каждый его изменяет, затем устанавливают обратно в редис. В таком случае сохраняется только результат последнего установившего.
Что Вы подразумеваете под нормальным бекендом? Или имеете в виду усовершенствовать его, учитывая материалы, что указали?
Обсуждают сегодня