用于大量使用的python Web服务

时间:2010-08-29 18:46:50

标签: python web-services

我需要使用python开发一个真正的生产web服务,该服务将由另一个客户端应用程序(使用另一种编程语言)使用。 我的意思是在真正的生产webservice中,这个webserivce将用于关键环境,webserivce的失败可能会导致重大问题。

有人可以提供/建议使用哪个库来使用python构建这样的web服务吗?

我知道python有内置的simpleXMLRPCServer,但我不知道它的质量,是否适合实际的生产用途。

1 个答案:

答案 0 :(得分:6)

Python已被用于开发生产级Web服务。有很多框架可以做到这一点。 (Django,Twisted等)。

您希望生产级服务器具有某些质量属性,如可用性,可扩展性等。对于关键任务应用程序,可用性变得非常重要。您的应用程序体系结构和开发可能会影响这些属性,而不是可能用于开发它们的框架。您可以计划提供广泛的容错,冗余系统和各种其他策略来提高可用性。

这也适用于使用Python框架构建应用程序。

Twisted是开发网络和Web应用程序的一个非常好的框架。 Python中还有其他框架,例如:Tornado等

您可以浏览某些扭曲的文档以及以下博客文章,这些文章可以帮助您更好地理解扭曲。

  1. Twisted in 60 seconds series
  2. A very good twisted introduction
  3. 我一直在探索扭曲的基础知识,并在my blog
  4. 发布了一些笔记

    Twisted docs:

    1. http://twistedmatrix.com/documents/10.1.0/web/howto/xmlrpc.html
    2. Python: deferToThread XMLRPC Server - Twisted - Cherrypy?
    3. http://nullege.com/codes/search/SimpleXMLRPCServer.SimpleXMLRPCDispatcher/all/1
    4. http://code.activestate.com/recipes/526625-twisted-xml-rpc-server-with-basic-http-authenticat/
    5. http://www.artima.com/weblogs/viewpost.jsp?thread=156396
    6. 沿着这条线的一些项目:

      1. http://freshmeat.net/projects/python-xmlrpc-server-w-ssl-authentication
      2. Django的:

        1. https://launchpad.net/django-xmlrpc
        2. http://djangosnippets.org/snippets/2078/
        3. http://www.drdobbs.com/184405364
        4. http://www.davidfischer.name/2009/06/django-with-jsonrpc-and-xmlrpc/
        5. 其他:

          1. http://www.f4ntasmic.com/2009/03/simple-xmlrpc-server.html
          2. 我希望这会有所帮助。 :)