Мне нужно написать прокси-программу в Python, рабочий поток очень похож на веб-прокси. Программа находится между клиентом и сервером, запросами ввода, отправленными клиентом на сервер, обрабатывает запрос, а затем отправляет его на исходный сервер. Конечно, используемый протокол - это частный протокол, использующий TCP.
Чтобы свести к минимуму усилия, я хочу использовать Python Twisted для обработки запроса (часть действует как сервер) и повторной отправки (часть действует как клиент).
Чтобы максимально повысить производительность, я хочу использовать многопроцессорную обработку python (потоки имеют ограничение GIL), чтобы разделить программу на три части (процессы). Первый процесс запускается Twisted для получения запросов, отправки запроса в очередь и немедленного возврата к исходному клиенту. Второй процесс принимает запрос из очереди, обрабатывает запрос дальше и помещает его в другую очередь. Третий процесс принимает запрос из второй очереди и отправляет его на исходный сервер.
Я был новым поклонником Python Twisted, я знаю, что это событие, я также слышал, что лучше не смешивать Twisted с потоковой обработкой или многопроцессорностью. Поэтому я не знаю, подходит ли этот способ или есть более элегантный способ, просто используя Twisted?