热更新简述

news2025/1/21 2:49:57
  1. 只要实现了进程级别的无状态(或在重启时恢复状态),除了跨过"重启期间"的连接会受到影响这个问题之外,我们还可以通过重启进程的方式实现热更新

  2. 优雅的进程切换
    在热更新期间,新旧经常会同时运行,旧进程处理旧的请求,等处理完全部请求之后,再退出,而新进程则负责处理新的请求

  3. 利用fork,exec切换
    利用fork、exec函数实现进程切换,原理:fork和exec函数有一个重要的特性,即可以让复刻后的进程和新开启的进程继承原进程的文件描述符,因此新进程也可以直接访问原进程监听的端口的socket。
    在这里插入图片描述
    如上图说明了fork和exec函数实现优雅进程切换的流程,进程1是一个服务端程序,监听8001端口,客户端A正在与服务端进行交互。当需要热更新时,让进程1调用fork函数,系统会复刻一个与进程1一摸一样的进程2,两个进程共同监听8001端口。让进程2调用exec函数运行新版本的程序,新版本程序进程3继承了原有的监听端口。此时,可以让进程1停止接收新连接。客户端A可以继续与进程1进行交互,而新的连接会与进程3交互。待到进程1处理完客户端A的请求后,再让它退出,系统仅剩下进程3。如此便实现了优雅的进程切换。由于进程3和进程1都监听8001端口,因此客户端无须做任何改变。

  4. 利用网关实现热更新
    除了使用fork和exec函数,利用网关也能够实现优雅的进程切换。如图9-20所示的是一种带有网关的服务端架构,客户端与网关相连,网关再将消息转发给逻辑进程(图中的game1)。<

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

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

相关文章

通用多物理场仿真PaaS平台伏图(Simdroid)5.0发布 | 试用

伏图&#xff08;Simdroid&#xff09;是云道智造自主研发的通用多物理场仿真PaaS平台&#xff0c;历经十年打磨&#xff0c;已迭代至5.0版本&#xff0c;实现“工程可用”。 通用多物理场仿真PaaS平台伏图(Simdroid)5.0 伏图5.0具备自主可控的固体力学、流体力学、电动力学、热…

个人参与场外期权交易的最全指南

个人参与场外期权交易的最全指南 一、引言 场外期权作为金融市场中的一大亮点&#xff0c;为个人投资者提供了多样化的风险管理及投资策略选择。本文将详细探讨个人如何安全、有效地参与场外期权交易。 文章来源/&#xff1a;财智财经 二、理解场外期权 场外期权是双方通过协…

CSS双飞翼布局

双飞翼布局是一种经典的CSS布局模式&#xff0c;主要用于实现左右两列固定宽度&#xff0c;中间列自适应的布局。 比如&#xff1a;写一个左中右布局占满全屏&#xff0c;其中左、右两块固定宽 200px&#xff0c;中间自适应&#xff0c;要求先加载中间块。 <!DOCTYPE html…

智能工厂总体设计方案

近年来&#xff0c;中国制造业长久以来依靠的劳动力优势正在逐步丧失。廉价的劳动力大军&#xff0c;曾是中国制造业发展的主动力&#xff0c;如今已不如往昔那么庞大和廉价&#xff0c;企业还面临不断恶化的用工短缺问题。因此&#xff0c;对于大规模制造生产&#xff0c;并想…

【langchain手把手3】使用示例选择器构建Prompt

【langchain手把手3】使用示例选择器构建Prompt Example selector 示例选择器实现用于选择示例以将其包括在提示中的逻辑。这使我们能够选择与输入最相关的示例。core内置的有以下3种示例选择器&#xff1a; LengthBasedExampleSelector&#xff1a;MaxMarginalRelevanceExamp…

【leetcode--文本对齐(还没整理完)】

根据题干描述的贪心算法&#xff0c;对于每一行&#xff0c;我们首先确定最多的是可以放置多少单词&#xff0c;这样可以得到该行的空格个数&#xff0c;从而确定该行单词之间的空格个数。 根据题目中填充空格的细节&#xff0c;我们分以下三种情况讨论&#xff1a; 当前行是…

JVM学习-详解类加载器(一)

类加载器 类加载器是JVM执行类加载机制的前提 ClassLoader的作用 ClassLoader是Java的核心组件&#xff0c;所有的Class都是由ClassLoader进行加载的&#xff0c;ClassLoader负责通过各种方式将Class信息的二进制数据流读入JVM内部&#xff0c;转换为一个与目标类型对应的ja…

大模型时代的具身智能系列专题(九)

NYU Lerrel Pinto团队 Lerrel Pinto是NYU Courant的计算机科学助理教授&#xff0c;也是用机器人和人工智能实验室(CILVR小组)的一员。在加州大学伯克利分校读博士后&#xff0c;在CMU机器人研究所读博士&#xff0c;在印度理工学院古瓦哈蒂读本科。研究目标是让机器人在我们生…

SpringBoot项目实现自定义注解方式的接口限流

一&#xff0c;实现原理 该限流方式使用的是令牌桶算法&#xff0c;令牌桶算法是基于漏桶算法的一种改进&#xff0c;主要在于令牌桶算法能够在限制服务调用的平均速率的同时&#xff0c;还能够允许一定程度内的突发调用。 系统以固定的速率向桶中添加令牌当有请求到来时&#…

微信小程序实现图生图(AI动漫特效)效果代码(触站API)

1.效果 触站AI图生图 2.本次用的是触站平台的API,我申请的适用积分,有水印(博主没钱)。如果需要没有水印的可以去买他们的资源包 3.首先我们需要去触站官网平台注册/登录账号(已注册可跳过该步骤) 4.开通API权限 我们可以在主页看到自己免费获取的500积分,用于接口调用…

SHA-3算法:新一代的哈希函数标准

在信息安全领域&#xff0c;哈希函数是不可或缺的工具之一&#xff0c;它能够将任意长度的数据转换为固定长度的字符串&#xff0c;通常用于数据完整性验证、数字签名、密码存储等场景。随着计算能力的提升和攻击技术的发展&#xff0c;原有的哈希算法如SHA-1和SHA-2系列逐渐显…

数据结构之归并排序算法【图文详解】

P. S.&#xff1a;以下代码均在VS2019环境下测试&#xff0c;不代表所有编译器均可通过。 P. S.&#xff1a;测试代码均未展示头文件stdio.h的声明&#xff0c;使用时请自行添加。 博主主页&#xff1a;LiUEEEEE                        …

金属切削机床5G智能工厂工业物联数字孪生,推进制造业数字化转型

金属切削机床5G智能工厂工业物联数字孪生&#xff0c;推进制造业数字化转型。随着工业4.0时代的到来&#xff0c;制造业正面临着前所未有的变革与挑战。在这场变革中&#xff0c;金属切削机床智能工厂工业物联数字孪生平台正成为推动制造业数字化转型的重要力量。 数字孪生是指…

Ego微商项目部署(小程序项目)(全网最详细教程)

1.项目部署前的准备 1.1获取APPID和APPSecret&#xff08;微信小程序&#xff09; 微信小程序注册流程及APPID&#xff0c;APPSecret获取-CSDN博客 把获取到的APPID&#xff0c;APPSecret复制粘贴&#xff0c;保存下来&#xff0c;等会要用到 1.2测试工具 navicat&#xf…

ps怎么设置立体字

一. 输入文字并调整大小和位置。 二. 使用CtrlAlt和T键复制并自由变换文字图层。 三. 通过键盘的方向键将复制的图层向左、向上各移动一个像素&#xff0c;多次重复操作以创建立体效果。 更多实用教程: 点击进入

PS系统教程11

HUD拾色器 作用&#xff1a;它可以帮助使用者更加高效地选择和使用颜色&#xff0c;从而提高工作效率和设计质量。 先确定色相值改变饱和度改变亮度使用HUD拾色器选中画笔工具画笔模式-正常shiftAlt右键 色相轮 上下移动从黑到白亮度变化左右移动从浅到深饱和度的变化选中颜…

Linux 35.5 + JetPack v5.1.3@FUEL编译安装

Linux 35.5 JetPack v5.1.3FUEL编译安装 1. 源由2. 编译&安装Step 1&#xff1a;依赖库安装Step 2&#xff1a;建立工程Step 3&#xff1a;编译工程Step 4&#xff1a;安装工程 3. 问题汇总3.1 fuel_planner/exploration_manager - dw3.2 fuel_planner/plan_env - OpenCV库…

IDEA的使用配置Maven(及selenium+webdriver的下载配置)

一. 下载maven 1. maven官网下载链接 2.​​安装第二行第一列的zip压缩包 ​​​​​​​​ 二. 配置环境变量 1.新建环境变量 2.在系统变量Path环境变量中添加%Maven_HOME%\bin 三.验证环境变量是否配置成功 winr >cmd>mvn -v 如果出现Maven的版本信息&#xff0…

隐藏 IP 地址的重要性是什么?

在当今的数字时代&#xff0c;保护我们的在线身份至关重要。从保护个人信息到保护隐私&#xff0c;互联网用户越来越多地寻求增强在线安全性的方法。保持匿名和保护敏感数据的一个关键方面是隐藏您的 IP 地址。在这篇博文中&#xff0c;我们将深入探讨隐藏 IP 地址的重要性&…