平滑重启更新(GR机制)
什么是平滑启动机制
- 是一种在协议重启时保证转发业务不中断的机制。
什么时候用到平滑重启
- 平滑重启一般应用于业务更新或者版本发布过程中,能够避免因为代码发布重启服务导致的暂时性服务不可用的影响。
ngnix 平滑重启和平滑更新
- Nginx的进程分为master主进程和work工作进程,master进程主要管理事件信号接受和分发,所有的请求处理都由work进程处理并返回结 果,Nginx的平滑重启或重载配置文件等升级,首先是向master发送重启或重载配置文件信号,然后master告诉所有的work进程不再接受新的 请求,然后master另起新的work进程,最后告诉旧的work进程可以光荣退出了。
- 平滑更新 :在upgrade过程中,还涉及到3个信号(USR2、WINCH和QUIT)。
首先发送USR2信号给原master,原master进程会额外启动一个master进程和若干worker进程,新旧worker进程同时提供对外服务。
第二步发送WINCH信号,原worker进程停止服务并退出。
最后发送QUIT信号给原master使之退出,只保留新的master和worker。
php-fpm 平滑重启
- php-fpm的reload平滑重启是指:假设128个php-cgi进程中有50个进程正在处理PHP程序,而剩余的78个进程处于闲置状态,php-fpm接到平滑重启信号后,会kill掉78个闲置进程,然后新启动128个进程,新请求交给新启动的进程来处理,而那50个进程,只有等到它们处理完自己当前正在执行的PHP程序后,才会被干掉。
- php-fpm master 进程可以理解以下的信号:
- INT, TERM 立刻终止
- QUIT 平滑终止
- USR1 重新打开日志文件
- USR2 平滑重载所有worker进程并重新载入配置和二进制模块
- 关闭php-fpm:
- kill -INT
cat /usr/local/php/var/run/php-fpm.pid
- kill -INT
- 平滑重启php-fpm:
- kill -USR2
cat /usr/local/php/var/run/php-fpm.pid
- kill -USR2
- 注意php-fpm.pid文件需要到到php-fpm.conf配置文件里面打开:
[global]
; Pid file
; Note: the default prefix is /usr/local/php/var
; Default Value: none
pid = run/php-fpm.pid
//即,将pid(;pid = run/php-fpm.pid)前的;去掉。
```
参考:https://www.cnblogs.com/justdoyou/p/7152334.html
http://ask.apelearn.com/question/11387
来源:https://www.cnblogs.com/frankltf/p/8862492.html
平滑重启更新(GR机制)相关推荐
- oracle tlv,OSPF GR(Graceful Restart,平滑重启)技术
概述 GR(Graceful Restart,平滑重启)是一种在主备切换或协议重启时保证转发业务不中断的机制.其核心在于:设备进行协议重启时,能够通知其周边设备,使到该设备的邻居关系和路由在一定时 间 ...
- K8s上的Go服务怎么扩容、发版更新、回滚、平滑重启?教你用Deployment全搞定!
经过前面不少文章的铺垫,终于可以写这个大家都感兴趣的话题了,在前面两篇文章,我们讲了Kubernetes里的 Pod和 副本集ReplicaSet (RS) 这两个API对象.知道了Pod是Kuber ...
- php 7.1.5,Centos 7平滑无缝更新PHP7.1.0到PHP 7.1.5
试验环境:Cent os release 7.3.1611 (Core) 内核版本:Linux version 3.10.0-514.el7.x86_64 1.查看php版本有两种方法,显示结果相同. ...
- supervisor 重启_Golang HTTP服务平滑重启及升级
Golang HTTP服务在上线时,需要重新编译可执行文件,关闭正在运行的进程,然后再启动新的运行进程.对于访问频率比较高的面向终端用户的产品,关闭.重启的过程中会出现无法访问(nginx表现为502 ...
- 文明重启服务器维护怎么卡进去,文明重启更新之后进不去,具体玩法介绍
文明重启游戏一直受到很多玩家的关注,有一些玩家在获取到游戏安装包后,发现登陆不进去,这种情况下要怎么处理呢?无法登陆要如何解决?我们就一起来看看吧! 文明重启更新之后进不去 无法登陆解决方法 一.了解 ...
- Golang服务平滑重启
与重载配置相同的是我们也需要通过信号来通知server重启,但关键在于平滑重启,如果只是简单的重启,只需要kill掉,然后再拉起即可.平滑重启意味着server升级的时候可以不用停止业务. 我们先来看 ...
- Go实现优雅关机与平滑重启
前言 优雅关机就是服务端关机命令发出后不是立即关机,而是等待当前还在处理的请求全部处理完毕后再退出程序,是一种对客户端友好的关机方式.而执行Ctrl+C关闭服务端时,会强制结束进程导致正在访问的请求出 ...
- Nginx 的启动、停止、平滑重启、信号控制和平滑升级
Nginx 的启动 假设 nginx 安装在 /usr/local/nginx 目录中,那么启动 nginx 的命令就是: [root@localhost ~]# /usr/loca ...
- Nginx的平滑重启和升级
Nginx的平滑重启和升级 Nginx平滑重启 如果修改了Nginx的配置文件(nginx.conf),想要重启Nginx,同样通过发送系统信号给Nginx的主进程的方式. 但是,重启之前,需要确认N ...
最新文章
- 发明 AI 吵架神器?程序员对象这么厉害的吗?
- android 视频的缩略图 缓存机制和 异步加载缩略图
- Linq to SQL只支持SQL Server(所选对象使用不支持的数据提供程序)
- zigbee cc2530地址空间 layout 和flash操作
- mysql 写入随机字中文符_MySQL产生随机字符
- 自带密钥 (BYOK)
- mysql创建视图不允许子查询
- CSS字体系列(CSS、HTML)
- kylin基础概念和基础性能优化
- html项目案例_非常时期的健身IP案例-营销100案之8
- 群晖3617可以有几个网卡_一步到位,购入群晖920+和它的小伙伴们
- 云服务器快照——是“后悔药”也是“任意门”
- php调java_php调java接口
- 网页设计企业建站实例教程
- 多少开发人员 饿了么_做个美团(饿了么)网站需要多少钱?
- ecshop mysql 操作_ecshop数据库操作函数
- 递归专题---[2]开根号
- 速算24点(C++)
- C++ - 实现strcpy函数
- java ibatis mybatis_Mybatis与Ibatis的区别