Twisted сделает ваш код проще, так как он уже проделал большую работу за вас. Например, вот эхо-сервер, использующий Twisted:
from twisted.internet.protocol import Protocol
class Echo(Protocol):
def dataReceived(self, data):
self.transport.write(data)
А вот балансировщик нагрузки TCP циклического перебора (непроверенный, но должен быть хотя бы близок к правильному):
from twisted.internet.protocol import Factory
from twisted.protocols.portforward import ProxyServer, ProxyFactory
class Balancer(Factory):
def __init__(self, hostports):
self.factories = []
for (host, port) in hostports:
self.factories.append(ProxyFactory(host, port))
def buildProtocol(self, addr):
nextFactory = self.factories.pop(0)
self.factories.append(nextFactory)
return nextFactory.buildProtocol(addr)
Является ли ваш существующий многопроцессорный код таким простым?
Если это так, есть еще тот факт, что Twisted будет работать с механизмами масштабируемости, специфичными для платформы (kqueue на MacOS / BSD, epoll на linux, IOCP на Win32), поэтому вы можете настроить свой код на наиболее подходящий механизм с помощью команды инструменты, вместо того, чтобы фактически переписывать ваш код.