我需要:编写代理服务器,为我的客户端下载音乐。假设每个客户想要下载20-200个乐曲(400MB-4GB音乐),我必须同时支持许多用户。
问题:我听到了如何编写该服务器的不同理由:在主事件循环中或为每个用户打开新工作程序。
我的流程:
问题: 我需要一个线程或多个工作人员?为什么?
答案 0 :(得分:1)
无论如何假设有几个worker,因为它经常需要打开tcp连接(阻塞主线程),你的回调会等待主线程队列。 您的HTTP服务器有很多工作人员吗?我认为,好的决定是让几个工作者绑定到你的HTTP端口,每个工作都是一个代理。 如果您的应用程序已经集群化,那么使用MQ +代理集群是合理的。