2010-01-11 53 views
5

这个问题涉及到一个较老的问题:MySQL tracking system。简而言之:我必须实现一个使用Python进行高负载的跟踪系统。对于数据库部分,我已经解决了mongoDB(这听起来像是这个工作的正确工具)。开发语言将是Python。在Python中跟踪系统和实时统计分析

我正在考虑在nginx后面使用CherryPy应用程序的多个实例。这背后的原因是我不想自己处理所有的wsgi部分,但另一方面,我不需要一个完整的web框架,因为应用程序将很简单,并且不需要ORM。

我的问题是:

  • 我应该使用内置的CherryPy服务器或我应该使用Apache与modwsgi(或其他服务器完全)?

  • 这听起来像一个合理的方法(nginx,mongoDB)?如果不是,你会推荐什么?

在此先感谢您。

+0

对于一个好问题+1。 MongDB看起来对于高负载来说是一个很好的数据库,但是您是否也考虑过使用GIS支持的数据库? – Mawg 2010-06-05 08:23:08

回答

1

听起来像MongoDB的将是一个非常适合这种 - 批量离线快速更新了先进的运营商,和M/R处理。我认为Nginx背后的CherryPy也应该运行得很好。如果你使用mod_wsgi路由,请注意this issue

+0

感谢您的提示:)。 – Alex 2010-01-11 20:26:38

+0

我认为Mongo文档错误地描述了使用mod_wsgi的问题。它说'当启用启用C扩展的PyMongo时,由于mod_wsgi使用多个子解释器处理模块重新加载的方式,编码时可能会看到奇怪的失败。'您看到的任何问题都不是因为mod_wsgi如何处理模块重新加载,而是因为Mongo C扩展未被正确编写,以便同时在多个子解释器中工作。这将发生在任何多解释器系统上,而不仅仅是mod_wsgi。 Mongo可以修复C扩展。 – 2010-01-11 21:58:46

+0

格雷厄姆 - 文档是开放的,所以您可以随意分叉并提供您认为应该在其中的更改。你说得对,我们可以改变C扩展来处理这种情况,尽管我担心任何“修复”对性能的影响。如果您有兴趣进一步讨论,请转至http://jira.mongodb.org - 感谢您的意见! – mdirolf 2010-01-21 18:14:29

3

你检查过石墨吗?这听起来像是你需要的东西(看你的另一个问题),它是为Orbitz团队的应用和服务器监控而设计的。这种功能非常强大,易于使用。

+0

它看起来不错。我会仔细研究一下(我会请其他团队成员来查看它)。希望这可以完成这项工作。谢谢。 – Alex 2010-01-11 19:35:40