平滑重启更新(GR机制)

平滑重启更新(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
  • 平滑重启php-fpm:
    • kill -USR2 cat /usr/local/php/var/run/php-fpm.pid
  • 注意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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正斜杠( / )和反斜杠( \ )的区别

反斜杠“\”是电脑出现了之后为了表示程序设计里的特殊含义才发明的专用标点。所以除了程序设计领域外,任何地方都不应该使用反斜杠。 如何区分正反斜杠 英语:"/" 英文是forward slash, “\" 是backward slash形象些比喻的话,…

MMDetectionV2 + Colab

MMDetectionV2 Colab 超详细教程及踩坑实录 文章目录 前言一、环境配置二、准备自己的数据集 Aug.14更新三:修改config文件 3.1 文件结构3.2 (本地)修改config文件 3.2.1 (本地)构造自己模型的权重文件3.2.2 &#x…

刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!

刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读! OpenStack Stein版本引入了新的多云编排功能,以及帮助实现边缘计算用例的增强功能。 OpenStack由一系列相互关联的项目组成,这些项目可以以不同的组合方式组合在…

SQL作业:综合练习(二)的返评

一:作业题目:综合练习(二) 二:题目要求: 1、创建数据库CPXS,保存于E盘根目录下以自己学号姓第一个字母(阿拉伯数字大写字母)方式创建的文件夹中,初始大小5MB&…

caffe cifar10试跑问题总结

caffe cifar10试跑问题总结 [daniel] 写了一个脚本可以直接用来添加环境变量:/Users/songdanzju/daniel_script/export_for_ananconda.sh#! /bin/bash export PATH~/ananconda/bin:$PATH export DYLD_FALLBACK_LIBRARY_PATH~/anaconda:~/anaconda/lib:/usr/local/l…

paddlepaddle-VisualDL2.0对项目进行可视化调参

如果需要更好的阅读体验,可以在ai studio上fork该项目:使用VisualDL2.0对项目进行可视化调参 调参是深度学习必须要做的事情。数据和模型处理好后,需要进行模型训练,这个时候就需要进行调参了。一种好的参数配置,可以…

第一、二次实训作业

1.编写程序: 声明一个整型变量a,并赋初值5,在程序中判断a是奇数还是偶数,然后输出判断的结果。 package 判断奇偶; public class liux { public static void main(String[] args){ int x5; if(x%20){ System.out.println("这…

推荐一款作图工具

以前看到别人的时序图觉得好好看,然后就想这都是用的什么工具画出来的呢?然后看到了一个师兄用的这个工具,真的挺好用的。这是是试用版的界面。类图我觉着看起来效果都挺不错的。转载于:https://www.cnblogs.com/tuhooo/p/8874410.html

【codeforces】【比赛题解】#849 CF Round #431 (Div.2)

cf的比赛越来越有难度了……至少我做起来是这样。 先看看题目吧:点我。 这次比赛是北京时间21:35开始的,算是比较良心。 【A】奇数与结束 "奇数从哪里开始,又在哪里结束?梦想从何处起航,它们又是否会破灭呢&#…

PaddleDetection支持的数据格式

PaddleDetection支持的数据格式 目前#PaddleDetection支持43种数据格式:coco voc widerface。在这里我们主要说明一下如何使用自定义COCO进行目标检测、实例分割;如何使用自定义VOC数据集进行目标检测。在PaddleDetection新的版本中,我们将数…

[dts]Device Tree机制【转】

转自:https://www.cnblogs.com/aaronLinux/p/5496559.html 转自:http://blog.csdn.net/machiner1/article/details/47805069 ------------------Based on linux 3.10.24 source code 参考/documentation/devicetree/Booting-without-of.txt文档 目录 1.…

AntiSamy测试

AntiSamy为owasp针对xss提供的处理库,可以配置xml策略来决定过滤的内容,比如标签、属性、css等,自定义策略给开发人员使用成本比较高,AntiSamy也提供了几个内置的策略,其安全级别也不同,过滤的内容也不一样…

1625 数字金字塔

1625 数字金字塔 链接:http://codevs.cn/problem/1625/ USACO 时间限制: 1 s空间限制: 128000 KB题目描述 Description考虑在下面被显示的数字金字塔. 写一个程序来计算从最高点开始在底部任意处结束的路径经过数字的和的最大. 每一步可以走到下方的点也可以到达右…

ubuntu下的能安装的百度网盘的资源最新网址

Index of /deepin/pool/non-free/d/deepin.com.baidu.pan/

C# 匿名委托、匿名方法、匿名对象、Lambda表达式

C# 匿名委托、匿名方法、匿名对象、Lambda表达式 原文:C# 匿名委托、匿名方法、匿名对象、Lambda表达式一、匿名类型可通过使用 new 运算符和对象初始值创建匿名类型。示例:var v new { Name "Micro", Message "Hello" };var v new[] { …

【9018:1956】线段树1

问题 D: 【模板】线段树1 时间限制: 1 Sec 内存限制: 512 MB提交: 80 解决: 40[提交][状态][讨论版]题目描述 给定一个无序数列,有四种操作: 1.令数列中的某个数加上某个数 2.求一个区间的和 3.查询一段区间内的最大值; 4.查询一段区间内的…

c++调用函数的dll

在工程项目中,为了不暴露源代码和避免严重耦合,所以将代码封装成 .dll二进制文件,以供项目调用。 这几天,也是在看这些封装dll,并使用Java中的JNA调用c的dll链接库中的函数,做个笔记! 1、创建…

SoJpt Boot 2.2-3.8 发布,Spring Boot 使用 Jfinal 特性极速开发

开发四年只会写业务代码,分布式高并发都不会还做程序员? 在Spring Boot框架下使用Jfinal特性极速开发,可以在Spring Boot中向使用Jfinal一样使用Enjoy、Aop、Controller等一系列方法(如: getFile(), renderFile....),以及ActiveRecord SoJpt Boot&…

组合数学--约瑟夫环问题 Josephus

约瑟夫斯问题(有时也称为约瑟夫斯置换),是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。 有n个囚犯站成一个圆圈,准备处决。首先从一个人开始,越过k-2个人&#xff…

3轴机器人各关节运动学建立,python编程,非常容易理解

分类:机器人学 一、问题描述 如右图所示的三自由度机械臂,关节1和关节2相互垂直,关节2和关节3相互平行。如图所示,所有关节均处于初始状态。 要求: (1) 定义并标注出各关节的正方向; (2) 定义机器人基坐标系&#x…