2013-05-19 3 views
1

У меня есть клиент/серверное приложение. Клиентское приложение будет закодировано на C++. В Linux у нас есть серверная программа. Этот сервер будет обрабатывать тысяч пользователей и миллионов запросов и те тысячи пользователей будет 24/7, подключенными к серверу и многие данных будут записаны в память (не все, но требуется)Обработка большого количества соединений с помощью Python

Прежде всего, я посмотрел Real Studio. Они предлагают потоки с Linux. Это язык базовый. Я также обнаружил Python 3, который очень стабилен и дружелюбен.

Также обнаружите, что Python имеет метод server_forever(), а также, если он дает ошибку во время соединения, Python не закрывает процесс, вместо этого он продолжает принимать следующие соединения. Это очень гибко.

Но, как я уже упоминал ранее, я буду обрабатывать тысячи пользователей одновременно и миллионы запросов. Например, это приложение, я должен доверять Python? Может ли python обрабатывать такие запросы?

Вы можете предположить, что программа кодируется очень хорошо и заботится о обработчике.

Должен ли я использовать RealStudio для машинного кода или даже C++?

Аналогичный вопрос here, но он имеет другое направление.

Для меня использование Python, Real Studio или C++ не является проблемой. Но мне понравился Python. Я просто не уверен, должен ли я идти с языком python scripted или с использованием прямого машинного кода.

Какое ваше предложение?

+0

Выбор языка в основном не имеет отношения к этому вопросу, так как операционная система будет превышена до того, как будет запущен ваш серверный код. Если вы действительно имеете в виду «тысячи пользователей» * одновременно *, вам понадобятся серверный кластер и операции центра обработки данных и т. Д. – msw

+0

Действительно. Допустим, у меня есть. В конце концов, я должен закодировать серверную программу в этот момент. В этом случае, я должен полагаться на Python Script или C++/Real Studio Machine Code. Мне действительно нужно знать, как Python действует в такой среде. Когда я кодирую содержимое сервера, у меня нет возможности отменить и перейти на другой язык. – selizar

+0

Вы говорите «миллионы запросов», но в каком периоде времени? Миллион запросов в день может быть легко обработан одним компьютером, но миллион запросов в секунду, скорее всего, потребуют немного больше аппаратного обеспечения. Что касается выбора языка, это не имеет большого значения - просто выберите то, что вам больше всего нравится. – Aya

ответ

1

Основываясь на ваших разработках в комментариях, вы должны быть в порядке с Python, и поскольку это звучит так, как будто Python является вашим предпочтительным вариантом, я бы пошел с этим.

Python - хороший язык для прототипирования, поскольку его краткий синтаксис, родные типы контейнеров и довольно полная встроенная библиотека позволяют вам собрать достаточно сложные программы за очень небольшое количество времени по сравнению со многими другими языками.

Однако не существует замены для практического тестирования, поэтому я бы рекомендовал создать небольшой прототип вашего сервера и провести стресс-тест, чтобы понять, насколько хорошо он справляется с такими нагрузками, которые вы ожидаете в процессе производства.