В настоящее время я работаю над сложным веб-интерфейсом и бэкэндом, которые должны решить несколько проблем.
- Scalablility
- несколько развертываний с различной нагрузкой
- Очень структурированные группы авторизации
- Различные представления для разных групп пользователей
- панель администратора
- управление пользователями / контентом
- Большая управляемая база данных
- текущий
- долгосрочные сохраненные данные (истории)
- Обновления данных
- Опрос
- Ex. Поисковые запросы, статические страницы / файлы, генерация отчетов по запросу
- Pushing (вероятно, веб-сокеты)
- Ex. Уведомления в режиме реального времени
- Различные протоколы
- Ex. HTTP, SSL, веб-сокеты
Я хотел бы использовать Python, потому что я вырос, чтобы действительно наслаждаться языком, и я рассматриваю некоторую комбинацию из Django и Twisted.
У меня есть некоторый опыт работы с Django, который мне нравится за стиль программирования приложений MVT, модели авторизации, панель администратора и API базы данных. Тем не менее, это не так сильно в некоторых требованиях к данным, которые мне нужны, в частности, в режиме реального времени.
Так вот, я раньше не использовал Twisted, но я видел много интересного. В частности, асинхронные аспекты и возможность запуска многих протоколов.
Проблемы в том, чтобы заставить этих двоих работать вместе, очевидны в том, что Django является блокирующим сервером, а Twisted разработан, чтобы быть неблокирующим. Я видел некоторые темы, в которых утверждается, что совместное использование этих двух вариантов возможно и имело успех. Также кажется возможным запустить оба и прокси-сервер, чтобы они принимали разные URL-адреса, но получить аутентификацию через них может быть сложно?
Сказав все это, я хотел бы спросить, нахожусь ли я на правильном пути для внедрения этой системы, а также предложения о том, как использовать два вместе, альтернативы, или я должен просто выкинуть один (в в этот момент, я думаю, это должен был быть Django, потому что в реальном времени нужны вещи). Я должен упомянуть, что я уже написал некоторые предварительные модели данных и представления в Django.
Я достаточно опытен в клиентской части (JS, CSS, HTML), но я не настолько разбираюсь в серверной части. Любой вклад будет полезен, спасибо.