saltsack自动化配置day01:数据系统 Grains VS Pillar(四)
一、Grains VS Pillar
名称 | 存储位置 | 数据类型 | 数据采集更新方式 | 应用 |
---|---|---|---|---|
Grains | Minion端 | 静态数据 | Minion启动时采集,也可以使用saltutil.sync_grains进行刷新。 | 存在Minion基本数据。比如用于匹配Minion,自身数据可以用来做资产管理等。 |
Pillar | Master端 | 动态数据 | 在Master端定义,指定给对应的Minion。可以使用saltutil.refresh_pillar刷新。 | 存储Master指定的数据,只有指定的Minion可以看到。用于敏感数据保存。 |
二、nginx修改配置后reload原理初探
1、前言
- nginx启动时,会启动两个进程: 一个是Master进程和worker进程。
2、改变配置后nginx做的事
- 1)改变了nginx配置之后,HUP signal的信号需要发送给主进程。
- 2)主进程首先会检测新配置的语法有效性。
- 3)尝试应用新的配置
- 1.打开日志文件,并且新分配一个socket来监听。
- 2.如果1失败,则回滚改变,还是会使用原有的配置。
- 3.如果1成功,则使用新的配置,新建一个线程。新建成功后发送一个关闭消息给旧的进程。要求旧线程优雅的关闭。
- 4.旧的线程 受到信号后会继续服务,当所有请求的客户端被服务后,旧线程关闭。
3、图解
- 修改配置后使用如下命令生效配置
nginx -s reload
查看进程情况
-
从如下进程情况的改变可以知道
- 此时进程1360是 nginx的主进程
4、Nginx reload频繁重启的坏处
新加一个接点后新来的请求交给新接点 之前的请求不会断掉,等待任务完成再断掉,
假如你是cdn提供商wget10分钟,这个老的一直在运行,要是你10分钟重启10次呢?
这样用户体验就不好了
三、微服务为什么需要配置中心
作者:罗阿红
出处:http://www.cnblogs.com/luoahong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。