Взгляните на Twisted Application Documentation . Похоже, вы хотите создать MultiService
каждый со своей собственной реализацией вспомогательной службы. Что вы делаете, так это определяете количество сервисов, реализующих startService
и stopService
и упорядочиваете свои сервисы в древовидной иерархии (через setServiceParent
) для определения произвольных порядков запуска и завершения работы.
Если вас больше интересует координация распределенных сервисов, то это немного сложнее. Это то, что Erlang
превосходит, хотя, если вы не против использования такой системы, как Zookeeper , это может быть решением.
Что касается вашего последнего пункта, существует несколько способов взаимодействия служб. Вы можете использовать что-то вроде Perspective Broker для связи с объектами или перейти на что-то более тяжелое и обобщенное, например RabbitMQ