跨计算机执行的几个方法是,跨计算机执行的几个方法有哪些
1.吉尔曼:
如果允许一个作业在多台计算机中的任何一台上执行,您可以使用gearman。换句话说,这些计算机必须是对等的。gearman有两个组件:一个是作业的服务器,另一个是作业的工作者。服务器和worker可以在一个节点上,也可以在不同的节点上。同时,也允许有多个服务器/工作者。此时,gearman将决定将工作分配给哪个工人。因此,gearman可以为作业执行服务器提供高可用性和负载平衡。然而,作业客户机部分的高可用性并不重要。
2.fabric开源项目或func(redhat)开源项目
结构基于ssh协议。func也使用类似ssh的协议。
fabric的一般用法是用python语言写fab文件,然后在命令行指定哪个机器执行fab文件。
Func有两种使用方式,要么直接使用命令行;您还可以编写pytho脚本,指示您希望在哪台计算机上执行它。
在windows中安装fabric的步骤如下(Python中的ssh模块安装类似)
3.XMLRPC模式(SimpleXMLRPCServer和xmlrpclib的组合)
类似于COM,但是xmlrpc和jsonrpc是跨语言的rpc调用协议。python也有一些专用的rpc实现。有关列表,请参见http://stack overflow . com/questions/1879971/what-the-current-choice-for-doing-RPC-in-python。
SimpleXMLRPCServer和xmlrpclib是python的标准库,文档最全,可以首选。
http://www . doughellmann . com/py motw/SimpleXMLRPCServer/index . html
http://www.doughellmann.com/PyMOTW/xmlrpclib/index.html
如果追求高效率,最好基于protobuf和msgpack,尤其是msgpack。序列化包是MSG Pack-Python,RPC包是msgpack-rpc-python。
三种远程执行方法的比较
Fabric/func这两个东西,在自动化部署中用的最多。fabric/func指的是打哪个的工具。也就是说,在你发出作业之后,你只知道这个作业将来会在哪个机器上执行。他们的作业就像bat批处理文件一样,是OS命令的组合。
Gear是一个智能的任务分发器,非常适合作为任务执行的集群,它的工作是功能级的东西。
XMLRPC,也指“命中哪里”的执行方式,适合开发agent或C/S结构的软件。它的工作也是功能层面的事情。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。