我有一个在本地服务器上运行的服务,使用Python 线程库编写。把它想象成一种网络爬虫。它使用 50 个线程。我想将它部署在Amazon Web Services云上并扩大规模,因此它使用更多线程。
简单地说,我有两个队列:Qinput
带有 URL 和Qoutput
带有页面内容。线程从中挑选 URL Qinput
,获取网页内容并将其放入Qoutput
问题:我只是将线程数增加到 500、5,000 或 50,000 并且 AWS + Python 将处理它就足够了吗?在 AWS 上移植多线程服务时,我应该期望该服务无缝运行还是应该注意一些“标准”设计缺陷?
我知道Global Interpreter Lock虽然它在这里不应该是一个问题,因为线程的主要任务是在抓取/抓取页面时在解释器外部调用