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次呢?

这样用户体验就不好了

三、微服务为什么需要配置中心

 saltsack:之对微服务配置中心的理解

posted @ 2018-09-05 14:43  活的潇洒80  阅读(81)  评论(0编辑  收藏  举报