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