gpt4 book ai didi

python - Python 中的企业平台,设计建议

转载 作者:太空宇宙 更新时间:2023-11-03 23:49:34 25 4
gpt4 key购买 nike

我正在开始用 Python 设计一个比较大的企业平台,想知道你们是否可以给我一些建议,关于如何组织各种组件以及哪些包有助于实现可扩展性、可维护性和可扩展性的目标。可靠性。

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

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

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

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

我很想听听其他开发者想出什么办法以尽可能灵活的方式实现这些目标。

最佳答案

考虑使用 Celery。它让您的 Web 应用程序做的事情尽可能少,然后触发其他任务,稍后再完成。它在底层使用 AMQP (RabbitMQ),但它是用 Python 编写的,并且与 Django 配合得很好。

http://celeryproject.org/

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

关于python - Python 中的企业平台,设计建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2821122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com