Приложение по структуре похоже на чат с комнатами, но пересылается не пользовательские фразы, а служебная информация.
Ожидаются запросы от клиентов, иногда в довольно большом количестве. Запросы могут быть относительно затратными по времени. В принципе, задержка с ответом сервера в 1-2 секунды проблемы не создаст. Но больше - не хотелось бы.
Варианты:
- PHP. Минус в том, что после каждого выполнения скрипт убивается, а хотелось бы некоторую инфу хранить от сессии к сессии. Например, авторизационные данные. Можно их хранить на сервере базы данных, но тогда каждый запуск скрипта означает ещё и обращение к серверу баз данных. Вроде есть какие-то методы для хранения статичных данных, но, я так понял, это своего рода танцы с бубном.
- node.js, Смущает его однопоточность. Есть немалый риск что новый запрос придёт до того, как закончится обработка старого. Как это отлаживать - хз.
- python. Минусы?
- perl. Минусы?
- может что-то ещё?
Производительность имеет значение
UPD: вопрос "на чём сделать", а не "к кому обратиться". Варианты "найти кого-то, кто сделает" не подходят
Минус в том, что после каждого выполнения скрипт убивается
Судя по этой фразе, в предмете вы не разбираетесь. Найдите того, кто разбирается - он вам и ответит.
parserpro: Что мне нравится на англоязычных ресурсах, когда спрашиваешь "как сделать ХХХ?", всегда получаешь несколько ответов "вот так или вот так". С лаконичным описанием, в каких случаях какое решение подойдёт лучше.
На русскоязычных же, минимум половина ответов будет в стиле "ты дурак" или "тебе это не надо".
На каждом из указанных языков можно сделать быструю реализацию.
Судя по вот этому:
Минус в том, что после каждого выполнения скрипт убивается
Смущает его однопоточность.
вопрос больше стоит в плоскости опыта программирования, чем выбора конкретного языка.
Но даже без учёта этого обычно эффективней всего писать на том, на чём лучше всего умеет команда.
Я не говорю, что надо делать на php, но все описанные его минусы не адекватные.
1 . Авторизационные данные в сессии, а сессия не обязательно в БД.
2. БД это не атрибут php. БД у Вас в любом случае будет и к ней будут запросы.
3. Есть сокеты и чаты на них делают чаще.
П.С.: По такому описанию (2 абзаца) давать совет по выбору инструмента не есть правильно. Но как правило сделать можно на каждой из приведенных технологий и стоит выбрать то что знаете.
Попробуйте связку PHP + CppComet в ней CppComet будет обслуживать конекты по вебсокетам, а php бекенд будет обслуживать обычные http запросы и выполнять бизнеслогику вашего приложения.
Вопрос с авторизацией решится просто так как в api CppComet предусмотрен механизм авторизации
Сам по себе CppComet является многопоточным сервером на C++, а апи вызовы можно делать от любого бекенда.
Слишком все поверхностно, самый правильный вариант — это найти грамотного руководителя проекта (с бооольшим опытом разработки) и он уже сможет определиться на чем писать ваш проект и команду разработчиков ему же поручить, чтобы и набирал и руководил, иначе говно получится.
А вам надо доверится этому человеку и тогда проект реально получится.