从执行的模型来比较Sat、AnSibluppetPalletOps
本章里我们使用的配置管理系统有很多的相似之处,在客户端节点运行代码的方式有很多的不同:
对于Puppet来说,一个Puppet代理在Puppet服务器上注册同时打开一个通信通道来获取命令。这个过程通常会定期运行,一般每半个小时一次。
30分钟不算快。你也可以配置一个更短的运行时间间隔。不管什么频率运行,Puppet主要使用拉模型。客户端必须检查之后才知道那些修改可以用了。】
Ansible通过SSH来推送期望的修改。这是推模式。
Salt使用的是推模式,但是实现的方式不同。它利用了ZeroMQ消息服务器,客户端连接到消息服务器,监听修改的通知。工作原理和Puppet有点像,但是速度更快。
哪种方式最好一直是开发者社区争执的一个话题。消息队列架构的支持者认为速度很重要,而且它的速度更快。SSH方法的支持者认为简单更加重要而且它足够快。我个人倾向于后面的观点。事情总会出篓子,复杂度增加时出问题的概率就更大。