用于大规模使用的Python网络服务
我需要用Python开发一个真正的生产级网络服务,这个服务会被其他客户端应用(用不同的编程语言)使用。我的意思是,这个网络服务是在一个关键环境中使用的,如果这个服务出现故障,可能会导致严重的问题。
有没有人能提供或建议我用哪个库来构建这样的Python网络服务?
我知道Python有内置的simpleXMLRPCServer,但我不太清楚它的质量如何,是否适合真正的生产环境使用。
1 个回答
6
Python被用来开发高质量的网络服务,有很多框架可以选择,比如Django和Twisted等。
在生产环境中,我们希望服务器具备一些特定的质量,比如可用性和可扩展性等。对于一些关键的应用程序来说,可用性尤为重要。你的应用架构和开发方式可能会比你使用的框架更影响这些质量。你可以计划提供强大的容错能力、冗余系统以及其他各种策略来提高可用性。
这同样适用于使用Python框架构建应用程序。
Twisted是一个非常好的框架,用于开发网络和网页应用。Python中还有其他框架,比如Tornado等。
你可以查看一些Twisted的文档和以下博客文章,这些内容可以帮助你更好地理解Twisted。
- 60秒了解Twisted系列
- 非常好的Twisted入门介绍
- 我在探索Twisted的基础知识,并在我的博客上发布了一些笔记
Twisted文档:
- http://twistedmatrix.com/documents/10.1.0/web/howto/xmlrpc.html
- Python: deferToThread XMLRPC服务器 - Twisted - Cherrypy?
- http://nullege.com/codes/search/SimpleXMLRPCServer.SimpleXMLRPCDispatcher/all/1
- http://code.activestate.com/recipes/526625-twisted-xml-rpc-server-with-basic-http-authenticat/
- http://www.artima.com/weblogs/viewpost.jsp?thread=156396
相关项目:
Django:
- https://launchpad.net/django-xmlrpc
- http://djangosnippets.org/snippets/2078/
- http://www.drdobbs.com/184405364
- http://www.davidfischer.name/2009/06/django-with-jsonrpc-and-xmlrpc/
其他:
希望这些对你有帮助。:)