Python IPC一对多

时间:2012-03-03 08:50:13

标签: python linux network-programming ipc cluster-computing

我正在编写一个python应用程序来管理一组linux机器,我正在寻找一种向所有主机发送命令的有效方法。

该应用程序的一般架构是:

  • 管理界面
  • 指挥调度员
  • 节点

我开始在本地节点上使用简单的python脚本编写应用程序,然后从SSH调用它(因此使用shell命令调度命令)但我正在寻找更高效的本机解决方案。

如果我可以远程执行python代码而不使用SSH并传递(pickle)python对象,那将是很棒的。

考虑它应该能够通过网络与数百个主机通信并支持SSL / TLS。

作为参考考虑VmWare vCenter架构,因为我的目标是创建非常相似的东西,那么您将使用什么样的方法/技术?

1 个答案:

答案 0 :(得分:0)

像@malangi一样,我也会建议Salt。如果你真的想要推出自己的解决方案而不是重用Salt,你可以使用ZeroMQ作为comms后端(这就是Salt所做的)。 ZeroMQ非常快,并且隐藏了一个非常简单但功能强大的套接字API背后的所有网络通信。

看起来ZeroMQ还没有进行SSL / TLS连接:请参阅此SO question。但请查看ZeroMQ wiki上的此页面了解替代方案。