2010-01-11 3 views
5

Этот вопрос относится к старому вопросу: MySQL tracking system. Короче говоря, я должен внедрить систему слежения, которая будет иметь большие нагрузки с использованием Python. Для части базы данных я остановился на mongoDB (который звучит как правильный инструмент для этой работы). Язык разработки будет Python.Система отслеживания и статистика в реальном времени в Python

Я думал об использовании нескольких экземпляров приложения CherryPy для nginx. Причиной этого является то, что я не хочу самостоятельно обрабатывать всю часть wsgi, но, с другой стороны, мне не нужна полноценная веб-инфраструктура, так как приложение будет простым и нет необходимости в ORM.

Мои вопросы:

  • Должен ли я использовать встроенный сервер CherryPy или я должен использовать Apache с modwsgi (или другого сервера в целом)?

  • Это звучит как разумный подход (nginx, mongoDB)? Если нет, что бы вы порекомендовали?

Заранее спасибо.

+0

+1 для хорошего вопроса. MongDB выглядит как очень хорошая БД для высоких нагрузок, но вы также рассматривали БД с поддержкой ГИС? – Mawg

ответ

1

Похоже, MongoDB будет хорошо подходит для этого - быстрое обновление с продвинутыми операторами, и M/R для пакетного в автономном режиме обработка. Я думаю, что CherryPy за Nginx тоже будет хорошо работать. Если вы идете по маршруту mod_wsgi, просто следите за this issue.

+0

Спасибо за подсказку :). – Alex

+0

Я бы сказал, что документация в Монгое неверно характеризует проблему использования mod_wsgi. В нем говорится: «При запуске PyMongo с включенным расширением C можно увидеть странные сбои при кодировании из-за того, что mod_wsgi обрабатывает перезагрузку модуля несколькими вспомогательными интерпретаторами». Любая проблема, которую вы видите, связана не с тем, как mod_wsgi обрабатывает перезагрузку модуля, это связано с тем, что Mongo C-расширение не было написано правильно, чтобы работать в нескольких суб-интерпретаторах одновременно. Это произойдет для любой системы мультиинтерпретатора, а не только для mod_wsgi. Монго мог исправить расширение C. –

+0

Грэм - документы открыты, поэтому не стесняйтесь вилки и вносите изменения, которые, по вашему мнению, должны быть там. Вы правы, что мы могли бы изменить расширение C, чтобы обработать этот случай, хотя я бы беспокоился о влиянии производительности любого «исправления». Если вам интересно обсудить дальнейшие вопросы, перейдем к http://jira.mongodb.org - спасибо за ввод! – mdirolf

3

Вы проверили Графит? Это похоже на то, что вам нужно (смотря на ваш другой вопрос) и предназначено для мониторинга приложений и серверов командой Orbitz. Он чрезвычайно прочен и прост в использовании для такого рода вещей.

+0

Отлично. Я просмотрю его (и я попрошу других членов команды посмотреть его). Надеюсь, это сработает. Благодарю. – Alex

Смежные вопросы