Я сделал пару лет крупномасштабной разработки игрового сервера в PHP. Балансировщик нагрузки делегирует входящие запросы на один сервер в кластере. Во имя лучшей производительности мы начали кэшировать все статические данные (по существу, объекты модели игрового мира) в каждом из экземпляров этого кластера, непосредственно в общей памяти Apache, используя apc_store
и apc_fetch
.
По ряду причин мы теперь начинаем разрабатывать аналогичную игровую среду на Python, используя микрофрейм Flask. На первый взгляд, это хранилище памяти экземпляра - это один кусок, который, как представляется, не переводится непосредственно в Python/Flask. В настоящее время мы рассматриваем возможность запуска Memcached локально в каждом экземпляре (чтобы избежать потоковой передачи довольно крупных объектов модели по проводу из нашего основного кластера Memcached.)
Что мы можем использовать вместо этого?