用于大规模使用的Python网络服务

4 投票
1 回答
933 浏览
提问于 2025-04-16 03:27

我需要用Python开发一个真正的生产级网络服务,这个服务会被其他客户端应用(用不同的编程语言)使用。我的意思是,这个网络服务是在一个关键环境中使用的,如果这个服务出现故障,可能会导致严重的问题。

有没有人能提供或建议我用哪个库来构建这样的Python网络服务?

我知道Python有内置的simpleXMLRPCServer,但我不太清楚它的质量如何,是否适合真正的生产环境使用。

1 个回答

6

Python被用来开发高质量的网络服务,有很多框架可以选择,比如Django和Twisted等。

在生产环境中,我们希望服务器具备一些特定的质量,比如可用性和可扩展性等。对于一些关键的应用程序来说,可用性尤为重要。你的应用架构和开发方式可能会比你使用的框架更影响这些质量。你可以计划提供强大的容错能力、冗余系统以及其他各种策略来提高可用性。

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

Twisted是一个非常好的框架,用于开发网络和网页应用。Python中还有其他框架,比如Tornado等。

你可以查看一些Twisted的文档和以下博客文章,这些内容可以帮助你更好地理解Twisted。

  1. 60秒了解Twisted系列
  2. 非常好的Twisted入门介绍
  3. 我在探索Twisted的基础知识,并在我的博客上发布了一些笔记

Twisted文档:

  1. http://twistedmatrix.com/documents/10.1.0/web/howto/xmlrpc.html
  2. Python: deferToThread XMLRPC服务器 - 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

相关项目:

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

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/

其他:

  1. http://www.f4ntasmic.com/2009/03/simple-xmlrpc-server.html

希望这些对你有帮助。:)

撰写回答