Мне необходимо организовать взаимодействие между несколькоими компьютерами (фактически набор виртуальных машин, работающих на одной железной) по принципу: мастер + несколько слэйвов. Мастер поднимает слэйвы по необходимости, управляет снэпшотами виртуалки, раздает задачи, мониторит сетевые шары да и вообще много чего делает.
В принципе, к вопросу взаимодействия можно подойти довольно топорно: поднять на мастере HTTP сервер (на том же Twisted, думаю что без него или чего-то подобного все равно не обойтись) и разбирать запросы/отдавать команды через него. Этот вариант всем хорош, кроме необходимости сделать довольно большое количество кода вручную.
Что не хочется делать вручную:
— придумывать протокол взаимодействия;
— заниматься серриализацией/десерриализацией данных;
— организовывать обработку ошибок когда что-то в очередной раз, по-мелочи, отвалится;
— придумывать как информировать слэйва о том, где искать мастера.
Так вот, уважаемые знатоки Python, не подскажите ли мне библиотечки, которые позволят мне минимизировать ручную работу? В идеале, в библиотеке должно быть все начиная с транспорта, заканчивая серриализацией, ну или по частям набрать то, что мне нужно. Вообще, тут бы что-то типа AKKA вполне подошла, но распределенной версии нету, а со Scala я связываться мягко говоря не хочу.