saltstack特点
-
实时交互
所有的minion机器同时执行命令 -
no freeloader
每一台salt minion上都装有执行master传来的命令所需要的程序,salt-master发送命令的时候,只需要指明哪台机器做什么,所有的salt-minion都会收到这条命令,然后判断自己是否符合执行条件,然后再将执行结果返回给salt-master。
文档中,freeloader的意思是没有揩油/吃白食的人
,所有的salt-minion机器都会完成自己的指令,无需salt-master帮助,salt-minion自己完成,往往比salt-master帮忙去做,做的更好 -
可测量性
salt为高性能和可测量性而生。salt的master和minion的信息传输,是由基于ZeroMQ 或者raw TCP在salt-master和salt-minion之间建立的一个持久性的数据管道来实现的。这相对于其它传输机制,有更好的性能优势。使用MessagePack使得消息非常高效地被序列化。
salt内部使用python Tornado作为异步网络库,并发和多线程也都采用了先进的技术。
有过一台salt master,35 000台salt minion机器。
如果salt master 挂了怎么办?
-
salt可以在任意python能够运行的环境下运行。只要支持任何网络协议的就行。
salt 命令被发送到 代理minion机器,将协议转换为本地写协议,再发送给salt minion机器,返回的数据经转以后存储在数据设备中,再返回 -
自动化管理
-
可扩展性强