news 2026/4/23 17:11:35

中间件升级

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
中间件升级

说明

中间件指的是什么呢?像redis/mongodb/mysql/rabbitmq/es/nginx/minio/nacos等其它三方发布的项目,我们自己本地部署。
部分三方的包也存在漏洞,所以需要进行升级。

升级考虑的点:

1. 系统是否兼容,centos7的系统很多新的服务无法使用。openssl3.0等(docker部署无需考虑)
2. 环境是否兼容,比如nginx高版本编译需要高版本的glibc, glibc升级后可能出现现有功能不能使用情况。 (docker部署无需考虑)
3. 应用程序是否兼容,比如es需要升级新的java的sdk,新的java的sdk需要springboot版本和当前不一致。 且应用程序暂时不能升级。
4. 是否为稳定的LTS版本, 一定下载LTS版本,不要下载体验版,否则容易出现各种问题。
关键词提示: 我的系统是centos7,我的jdk版本是1.8, 我的springboot版本是2.7.18。我想使用xxx的稳定版本,应该选择哪个?

最佳实现:

1. 寻找匹配的测试环境机器(服务器架构,服务器内核版本,glibc等核心库版本相同)
2. 按照线上环境部署老服务。
3. 按照升级步骤升级至新服务。
4. 验证升级后服务信息。

备选方案:

1. 线上环境部署。(存在一定的风险,不推荐)
2. 验证升级步骤,(不要停止老服务,新服务启动不同端口号)
3. 验证实际后服务信息。

升级后的验证项目

  1. 功能验证 核心业务接口是否正常
  2. 性能验证 升级前后压测对比QPS/磁盘/CPU/内存等
  3. 边界验证 高并发,大数据量,网络波动等情况下的表现。
  4. 数据验证 验证升级后数据是否缺失。

名词解释

历史服务:之前部署的服务
新服务:按照新版本号下载安装的服务。

注意事项

  1. 本次中间件升级,不要和业务升级一起执行, 防止出现问题难以定位中间件升级导致的问题还是业务代码的问题。

  2. 本次中间件升级,请预留足够时间,用于验证失败后的回滚动作。

  3. 本次中间件升级,为了保证数据完整性,会进行数据备份,请提前计算好磁盘容量,防止备份,新服务启动导致磁盘容量不足。

  4. 本次升级为停机方式升级,非集群模式同时运行(集群模式更复杂,不赘述,基本原理一致)

升级前准备

  1. 准备新版本服务的启动包。(下载,编译,install等)

  2. 准备旧版本服务的启动包。(回退时使用)

  3. 同步配置文件到新服务,并进行适配性更改。

  4. 备份历史服务的配置,安装目录,数据快照等

服务升级

  1. 检查新版本的配置文件

  2. 停止正在运行的历史服务 存在主从的,先停从节点,再停止主节点

  3. 部署启动新版本的服务

  4. 根据数据快照等进行数据恢复

  5. 验证新服务运行状态及数据是否正常

  6. 更换资源绑定信息。 path路径的绑定 systemd 的运行文件的绑定 项目中配置文件的引用等。 快捷命令的软连接 ~/.bashrc配置 /etc/profile 配置

版本回退

  1. 触发回退条件:

新服务启动失败且15分钟内无法修复 程序报错率提升,性能下降超过10% 数据恢复后核心数据丢失。 新服务中间件不可用。

  1. 新版本的数据快照旧版本可以加载的服务:

    1. 备份新服务数据快照

    2. 停止当前线上运行的新服务。

    3. 启动历史服务,清空历史数据。

    4. 按照备份进行数据恢复

    5. 资源绑定进行回退(path 配置文件等)

  2. 新版本的数据快照旧版本不可用情况或允许新版本运行期间数据丢失:

    1. 停止当前线上运行的新服务

    2. 启动历史服务

      1. 历史服务启动失败场景: 清空历史服务数据,重新加载配置,根据历史备份数据进行恢复。

    3. 资源绑定进行回退(path 配置文件等)

    4. 风险点:历史版本不兼容新版本的数据,升级期间产生的数据可能会丢失,升级动作需在访问低峰期进行。

数据删除(线上稳定运行1-2个月后)

  1. 删除历史服务的安装目录。

  2. 删除历史服务的备份信息,数据快照,配置文件等

中间件升级样例

redis
mongodb
RabbitMQ
ES
nginx
minio
nacos
我会慢慢的补充我已经使用过的。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 13:35:56

基于PaddleOCR的中文识别项目搭建:推荐使用conda与清华镜像源

基于PaddleOCR的中文识别项目搭建:推荐使用conda与清华镜像源 在企业推进数字化转型的过程中,文档自动化处理已成为提升效率的关键一环。尤其是面对大量非结构化中文文本——如发票、合同、身份证件等,如何快速、准确地提取其中的文字信息&am…

作者头像 李华
网站建设 2026/4/23 12:11:39

随机森林:当“三个臭皮匠”成为数据科学家的超能力

随机森林:当“三个臭皮匠”成为数据科学家的超能力当你面对一堆复杂的调查问卷,每个人都有自己的判断标准时,随机森林就像是把所有人的智慧集合起来,让你在预测时不仅更准确,还更稳定。想象一下,你要在城市…

作者头像 李华
网站建设 2026/4/22 21:49:47

集中时间办大事

管理者的职位越高,能自己说了算的时间就越少;公司规模越大,花在维持日常运转上的时间,就比花在搞业务、做生产上的时间要多。所以,厉害的管理者都懂一个道理:必须把能自己支配的时间凑到一块儿用。时间要是…

作者头像 李华
网站建设 2026/4/23 10:44:53

TensorRT-LLM快速入门指南

TensorRT-LLM快速入门指南 在大模型落地成为主流趋势的今天,如何让一个动辄上百GB显存占用的LLaMA或Falcon模型,在生产环境中稳定、高效地提供服务?这不仅是算法工程师关心的问题,更是系统架构师必须面对的挑战。 PyTorch虽然强…

作者头像 李华
网站建设 2026/4/23 10:50:17

GPT-5.2强势反击!AI大模型激战,程序员如何选择最适合的工具?

简介 OpenAI在谷歌Gemini 3和Anthropic Claude Opus 4.5竞争压力下,仅20天就推出GPT-5.2。其编码能力提升45%,但价格也上涨40%。实战测试显示,GPT-5.2在某些方面表现不如Gemini 3。AI大模型竞争激烈,为用户提供更多选择&#xff0…

作者头像 李华
网站建设 2026/4/23 13:29:04

职业病防治进入智能时代:这家企业的职业健康管理系统为何备受瞩目?

近期《职业病防治法》等一系列政策密集出台,职业健康管理已成为每个用人单位必须面对的重要课题。在这样的背景下,陕西公众智能科技有限公司推出的职业健康管理服务系统正在悄然改变行业格局。随着《职业病防治法》、《工作场所职业卫生管理规定》等一系…

作者头像 李华