对不起,我对这个概念很陌生。 基本上,我有一个Django网站。 其中一个观点做了很多工作,导致服务器由于内存不足而挂起。 我想要使用该视图的function并使其在另一个服务器(服务器B)上运行,并让主服务器(服务器A)与它通信,就好像它们都运行在同一台服务器上一样。 我的第一个猜测是我需要让服务器B侦听服务器A可以交谈的端口,反之亦然。
我并不是要求一个明确的答案,因为这个问题本身可能是模糊的。 也许,我可以通过负载平衡等来实现这一点,我不确定。 任何指向我如何可能实现我想要的信息的链接非常感谢。 谢谢
我可能会寻找某种消息传递基础结构来解决这个问题。 服务器A可以处理前端请求,服务器B可以生成数据。
服务器A在队列上“侦听”服务器B生成的数据。您还应该尝试caching请求和生成的数据,以便不会为多个类似的请求重新生成相同的数据。
服务器B侦听从服务器A上的视图转发的请求,处理数据并通过响应队列返回生成的数据。
嗯。 事情要阅读..
http://blogs.digitar.com/jjww/2009/01/rabbits-and-warrens/ < – 关于RabbitMQ和python的优秀文章。
http://docs.djangoproject.com/en/1.2/topics/cache/ < – Django视图caching。 这将有助于极大地降低负载(特别是如果您使用基于磁盘的caching的memcached,那么您也可以获得分布式caching)。
http://oreilly.com/catalog/9780596102357 < – “构build可扩展的网站”将使您深入了解其他一些方法,以使您的webapp可扩展。
我build议寻找Apache的mod_proxy的常见用法。
而且,沿着同样的道路,你可能会对像Varnish这样的caching感兴趣。
仔细想想如何将应用程序分解为function单元(如果还没有的话),并减less完成的工作量。 你可以caching吗? 如果可以的话, 就这样做 。 🙂