Python企业平台,designadvi

2024-06-08 19:49:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道,如果Python能够在某种程度上帮助实现企业级的可扩展性和可维护性的目标,我想知道如何在Python平台上实现一些可扩展性和可维护性。在

该系统基本上是一个从各种外部来源收集数据的服务,每个外部来源都有自己独立的应用程序。这些应用程序将轮询一个中央数据库,并获取任何已提交以在外部源上执行的请求。在

将有一个主网站和REST/SOAP API,它也应该可以访问中心数据服务。在

我最初的想法是将Django用于web站点、web服务和数据访问层(使用其内置的ORM),然后外部源应用程序可以使用web服务来获取处理请求和保存结果所需的信息。 使用这种方法可以让服务应用程序的多个实例在同一台或不同的机器上运行,以平衡负载。有没有更优雅的方法来实现这一点?我听说过像MQ这样的消息传递系统,在这种情况下,类似的东西是否有益?在

我的另一个想法是使用一个不基于Django的完全独立的数据服务,并使用某种远程处理或远程对象(它们存在于Python中)来与数据模型交互。这里的缺点是,如果网站必须将所有数据请求推送到第二层,则速度会慢得多。在

我很乐意听到其他开发人员如何以最灵活的方式实现这些目标。在


Tags: 数据django方法web应用程序目标远程网站
2条回答

考虑用芹菜。它让你的web应用尽可能少做一些事情,然后启动稍后将要完成的其他任务。它在底层使用了AMQP(RabbitMQ),但它是用Python编写的,并且可以很好地与Django一起使用。在

http://celeryproject.org/

(如果你想了解更多AMQP,我写了一些幻灯片: http://johntellsall.blogspot.com/2009/11/message-queuing-slides-and-source-code.html )在

我觉得你的建筑听起来不错。一个评论是,在python社区中,SOAP通常被认为是重磅的。你考虑过JSON或者其他什么吗?到目前为止,大多数语言都有JSON库。在

远程运行代码的另一种可能是pyro(Python远程对象),它在Windows上运行良好,并且是跨平台的。在

在python中有几个编写服务的方法(比如如果您的服务总是在一段时间之后就死了,那么确保它不会写入stdout并填充它的缓冲区),但是如果您考虑这个路径,那么我假设您已经在上面了。:)

相关问题 更多 >