• 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)

SaltStack与ZeroMQ(二)的更多相关文章

  1. SaltStack系列(二)之常用模块

    一.saltstack的内置模块汇总 acl,    aliases,    alternatives,    apache,    archive,    artifactory,    block ...

  2. saltstack之(十二)配置管理mount

    线上很多服务器都需要挂载存储上的公共目录,并实现开机启动(/etc/fstab),比如web的静态文件共享目录,日志远程集中收集等. 一.批量挂载部分. 1.在node1上配置nfs服务器,有关nfs ...

  3. Saltstack学习之二:target与模块方法的运行

    对象的管理 saltstack系统中我们的管理对象叫做target,在master上我们可以采用不同的target去管理不同的minion,这些target都是通过去管理和匹配minion的id来做的 ...

  4. Saltstack自动化运维

    Saltstack三大功能 1,远程执行 2,配置管理(状态) 3,云管理 四种运行方式: Local         本地 Minion/Master C/S Syndic  代理模式 Salt S ...

  5. 基于Saltstack、Artifactory打造传统模式下持续部署平台

    一.持续部署 1. 现状 由于没有建立标准的持续部署流程,导致了版本管理混乱,制品管理混乱,上线持续时间长,上线测试覆盖不全面,业务流量上升后故障较多,排查复杂.运维.测试.开发人员每次版本迭代的时候 ...

  6. 学习saltstack (六)

    Slatstack 介绍 官网:https://saltstack.com/ 官方源:http://repo.saltstack.com/  (介绍各操作系统安装方法) centos 6源 ? 1 y ...

  7. Saltstack的API接口与调用方式

     saltstack看起来是成为一个大规模自己主动化运维和云计算管理的一个框架,类似于SDK,并非像puppet仅仅成为一个工具.基于良好设计的API和清楚的思路,让salt的二次开发变得非常easy ...

  8. Ansible 日常使用技巧 - 运维总结

    Ansible默认只会创建5个进程并发执行任务,所以一次任务只能同时控制5台机器执行.如果有大量的机器需要控制,例如20台,Ansible执行一个任务时会先在其中5台上执行,执行成功后再执行下一批5台 ...

  9. Ansible系列(七):执行过程分析、异步模式和速度优化

    本文目录:1.1 ansible执行过程分析1.2 ansible并发和异步1.3 ansible的-t选项妙用1.4 优化ansible速度 1.4.1 设置ansible开启ssh长连接 1.4. ...

随机推荐

  1. 数据库MongoDB查询语句--持续更新

    模糊查询: 包含字符串str : find({'name':/str/i}); {'name':/str/} 以str开头:   {'name':/^str/} $in查询: 字段:{ field: ...

  2. centos7.2安装phpmyadmin

    首先服务器要有web 环境 yum install phpmyadmin 修改/etc/http.conf/conf.d/phpMyadmin.conf 将  #Require ip 127.0.0. ...

  3. Python 练习册

    01:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果 [图像处理] 类似于图中效果: py 2.7代码: from PIL import Image, Im ...

  4. RabbitMQ官方中文入门教程(PHP版) 第一部分:Hello World

    RabbitMQ是一个消息代理.它的核心原理非常简单:接收和发送消息.你可以把它想像成一个邮局:你把信件放入邮箱,邮递员就会把信件投递到你的收件人处.在这个比喻中,RabbitMQ是一个邮箱.邮局.邮 ...

  5. zabbix3.0安装教程

    一.Zabbix介绍 zabbix 简介 Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费 ...

  6. JVM执行Java程序时内存的划分

    Java虚拟机在执行Java程序过程中会把它所管理的内存区域划分为若干个不同的数据区域. Java虚拟机所管理的内存包括以下几个运行时区域: 1.程序计数器(Program Couter Regist ...

  7. iPad开发--iPad中modal的更多用法

    可以设置modal的呈现样式,常见的有以下四种                                   设置modal的过度样式,也就是展现时候的动画效果 代码示例

  8. 【CodeVS 3153】取石子游戏

    http://codevs.cn/problem/3153/ 对于这道题,直觉告诉我每一个状态一定是必胜或必败的 然后设定操作次数t,t为取完些石子最多需要多少步. 如果\(a_i\)不为1,\(t= ...

  9. java-URLConnection网络数据收取

    通过url创建connection方式收取 import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import ja ...

  10. CSS强制英文、中文换行与不换行 强制英文换行

    1. word-break:break-all;只对英文起作用,以字母作为换行依据 2. word-wrap:break-word; 只对英文起作用,以单词作为换行依据 3. white-space: ...