從執(zhí)行的模型來(lái)比較Sat、AnSibluppetPalletOps
本章里我們使用的配置管理系統(tǒng)有很多的相似之處,在客戶端節(jié)點(diǎn)運(yùn)行代碼的方式有很多的不同:
對(duì)于Puppet來(lái)說(shuō),一個(gè)Puppet代理在Puppet服務(wù)器上注冊(cè)同時(shí)打開(kāi)一個(gè)通信通道來(lái)獲取命令。這個(gè)過(guò)程通常會(huì)定期運(yùn)行,一般每半個(gè)小時(shí)一次。
30分鐘不算快。你也可以配置一個(gè)更短的運(yùn)行時(shí)間間隔。不管什么頻率運(yùn)行,Puppet主要使用拉模型。客戶端必須檢查之后才知道那些修改可以用了。】
Ansible通過(guò)SSH來(lái)推送期望的修改。這是推模式。
Salt使用的是推模式,但是實(shí)現(xiàn)的方式不同。它利用了ZeroMQ消息服務(wù)器,客戶端連接到消息服務(wù)器,監(jiān)聽(tīng)修改的通知。工作原理和Puppet有點(diǎn)像,但是速度更快。
哪種方式最好一直是開(kāi)發(fā)者社區(qū)爭(zhēng)執(zhí)的一個(gè)話題。消息隊(duì)列架構(gòu)的支持者認(rèn)為速度很重要,而且它的速度更快。SSH方法的支持者認(rèn)為簡(jiǎn)單更加重要而且它足夠快。我個(gè)人傾向于后面的觀點(diǎn)。事情總會(huì)出簍子,復(fù)雜度增加時(shí)出問(wèn)題的概率就更大。