SaltStack與ZeroMQ(二)


  • SaltStack與ZeroMQ

SaltStack底層是基於ZeroMQ進行高效的網絡通信。

 

ZeroMQ簡介

       ØMQ (也拼寫作ZeroMQ,0MQ或ZMQ)是一個為可伸縮的分布式或並發應用程序設計的高性能異步消息庫。它提供一個消息隊列, 但是與面向消息的中間件不同,ZeroMQ的運行不需要專門的消息代理(message broker)。該庫設計成常見的套接字風格的API。能夠提供進程內(inproc)、進程間(IPC)、網絡(TCP)和廣播方式的消息信道, 並支持扇出(fan-out)、發布-訂閱(pub-sub)、任務分發(task distribution)、請求/響應(request-reply)等通信模式。

 

 - SaltStack第一種模式:發布與訂閱

ZeroMQ支持Publish/Subscribe,即發布與訂閱模式,我們經常簡稱Pub/Sub。

Salt Master運行兩個網絡服務,其中一個是ZeroMQ PUB系統,默認監聽4505端口

可以通過修改/etc/salt/master配置文件的publish_port參數設置。

它是salt的消息發布系統,如果查看4505端口,會發現所有的Minion連接到Master的4505端口,TCP狀態持續保持為ESTABLISHED。

lsof -i:4505

 

 

 - SaltStack第一種模式:請求與響應

ZeroMQ支持Request-Reply,即請求與響應模式,我們經常簡稱REQ/REP。

Salt Master運行的第二個網絡服務就是ZeroMQ REP系統,默認監聽4506端口,可以通過修改/etc/salt/master配置文件的ret_port參數設置。

它是salt客戶端與服務端通信的端口。比如說Minion執行某個命令后的返回值就是發送給Master的4506這個REP端口

如果安裝了python-setproctitle軟件包,所以我們可以直接看到Salt Master啟動的進程的名稱。

yum install -y python-setproctitle

重啟master和minion

systemctl restart salt-master
systemctl restart salt-minion

/usr/bin/salt-master -d ProcessManager  # 中心進程管理器
/usr/bin/salt-master -d _clear_old_jobs  # 清除舊的Jobs文件及更新fileserver
/usr/bin/salt-master -d Publisher       # 將任務PUB到Minion端
/usr/bin/salt-master -d EventPublisher  # Event Publisher進程
/usr/bin/salt-master -d ReqServer_ProcessManager # ReqServer進程管理器
/usr/bin/salt-master -d MWorker  # 工作進程
/usr/bin/salt-master -d MWorker  # 工作進程
/usr/bin/salt-master -d MWorker  # 工作進程
/usr/bin/salt-master -d MWorker  # 工作進程
/usr/bin/salt-master -d MWorker  # 工作進程
/usr/bin/salt-master -d MWorkerQueue # 將Ret接口(ROUTER)數據轉發到Worker(DEALER)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM