Вообще посоветовал бы PostgreSQL посмотреть, самый пожалуй выгодный вариант в плане стабильности и быстродействия. Но опять же советую выбрать ту СУБД с которой у вас есть опыт работы.
можно даже более логично: комбинировать и то и то. Раз уж речь идет об играх, то скорее всего нужен будет какой-то демон уведомляющий пользователей через web sockets, и тут выгоднее взять node.js + socket.io, ибо избавляет от кучи гемороя с реализацией собственного сервера с асинхронным io. А уже все остальное писать на php так как это быстрее в силу известности автору языка.
и еще, почему flask? Он же не сильно подходит для реализации подобного (в смысле меньше чем другие варианты) Я так понимаю что вы просто свой стандартный стэк технологий описали...
mongodb то почему? Вы же даже не знаете о каких именно данных идет речь. Раз речь идет о чем-то связанном с играми, то не думаю что монга тут лучше подойдет чем MySQL и уж точно не лучше postgre
@artursmirnov, это все спокойно решается введением менеджера очередей (rabbitmq, zeromq и т.д.). Я бы даже настоятельно рекомендовал такой подход, так как при нем демон можно будет писать не на php (тут и в правду есть свои нюансы) а на node.js
представленные технологии: для клиента вы предлагаете backbone.js, но он не даст вам ничего особо для реализации той самой интерактивности. Он хорош для синхронизации данных с сервером и дает довольно гибкую структуру. Но с ним можно легко отстрелить себе ногу. Я предлагаю angular.js, который можно спокойно использовать вместе с backbone (хотя я лично смысла не вижу в этом).
По поводу сервера... node.js быстрее, проще в поддержке... но как бы там ни было, менее надежен. И не потому что технология сырая, вовсе нет. Просто разработчики сторонних модулей/библиотек/фреймворков очень любят ломать обратную совместимость в самый неподходящий момент. Благо это не так сильно проявляется с фреймворками типа express.js. В любом случае с использованием асинхронного io и грамотной архитектурой, можно сделать очень эффективную api-шку. Лично я выбрал бы node.js, но если вы не сильно знакомы с серверным javascript то все же лучше выбрать более знакомые технологии, что бы в какой-то момент не пришло осознание того, что вы совершили пару роковых ошибок в момент проектирования.
если бы вы писали на Си то да, упрощает. Но вообще это крайне сильно усложняет код. Проще сделать хэш-массив ключь=>значение, где ключь это ваша команда, а значение - обработчик. Все будет разделено, вынесено, чистенько...
Я говорил не о фриланс биржах а о удаленной работе, со стабильной зарплатой, без дикого гемороя в виде общения с заказчиками которым нужно сделать дешево и вчера... Просто составьте резюме, поищите вакансии и т.д. Было бы желание. А еще лучше вам на пол ставки куда устроится джуниором. Денег не так много, но зато процесс обучения пойдет в разы быстрее.
https://gist.github.com/fesor/7777780