我需要在Python中编写类似程序的代理,工作流程与Web代理非常相似.程序位于客户端和服务器之间,由客户端发送到服务器的请求,处理请求,然后将其发送到原始服务器.当然使用的协议是私有协议使用TCP.
为了最大限度地减少工作量,我想使用Python Twisted来处理请求接收(该部分充当服务器)并重新发送(该部分充当客户端).
为了最大限度地提高性能,我想使用python多处理(线程具有GIL限制)将程序分成三个部分(进程).第一个进程运行Twisted以接收请求,将请求放入队列,并立即将成功返回给原始客户端.第二个进程从队列中获取请求,进一步处理请求并将其放入另一个队列.第3个进程从第2个队列接收请求并将其发送到原始服务器.
我是Python Twisted的新手,我知道它是事件驱动的,我也听说最好不要将Twisted与线程或多处理混合使用.所以我不知道这种方式是否合适,或者只是使用Twisted有更优雅的方式?