当前位置: 首页 > news >正文

后台运维操作建议

文章目录

  • 1.版本升级
  • 2.配置发布
  • 3.数据库/脚本操作
  • 4.发布依赖确认
  • 5.发布规范
  • 6.服务下线
  • 参考文献

1.版本升级

版本升级是软件维护和演进中的关键环节,但它可能带来一系列问题。这些问题涉及兼容性、功能、性能、安全性等方面。

  • 【强制】版本管理:使用版本控制工具管理版本,确保不同版本间的兼容性。遵循语义版本控制(SemVer)原则,以清晰标识版本间的兼容性。
  • 【强制】迁移指南:提供详细的迁移指南和文档,帮助用户了解版本升级的变化和兼容性注意事项。
  • 【强制】回归测试:在新版本发布前,执行回归测试,确保新版本的代码不会破坏旧版本的功能。
  • 【强制】灰度发布:在新版本发布时,采用灰度发布的方式,逐步将流量引导到新版本,并监控兼容性问题。
  • 【建议】自动化测试:建立向后兼容性的自动化测试,模拟旧版本客户端的行为,验证其在新版本环境下的兼容性。

2.配置发布

服务配置变更是系统维护和优化的重要操作,但如果配置变更过程中出现错误,可能会导致线上问题。以下是规避服务配置变更引发问题的措施:

  • 【强制】配置梳理。在发布前,梳理所有依赖的配置项,确保所有配置项的完整性,发布模板中的 checklist 需要有此动作。
  • 【强制】配置 Review。服务配置发布需要经过其他同事 Review 同意后方可发布。
  • 【强制】预发布环境验证:在将配置变更应用到生产环境之前,先在预发布环境中进行测试,确保配置变更不会引入新的问题。
  • 【强制】发布后验证,由测试同学在生产环境进行回归验证,确保配置加载正确且系统功能正常。
  • 【强制】配置回滚:建立有效的回滚机制,在配置变更出现问题时能够快速恢复到稳定的配置。
  • 【建议】发布前验证:在配置变更前,使用配置验证工具或脚本检查配置文件的正确性,确保语法和参数设置无误。
  • 【建议】在配置文件中注释说明每个字段及其取值的含义。

3.数据库/脚本操作

  • 【强制】在进行数据库和脚本操作前,必须让相关团队(如开发、运维)review,确认操作需求的详细描述和业务背景,确认操作的合理性和必要性,确保操作设计符合业务需求,并记录所有操作场景及其用途。
  • 【强制】优化脚本和SQL语句,确保操作高效且不会对系统性能造成影响。例如,分批删除数据避免全表扫描锁表
  • 【强制】在涉及多个步骤的操作中(如批量更新),使用数据库事务,确保操作的原子性和一致性。
  • 【强制】使用 DMS 平台进行数据库变更操作,严格控制数据库和脚本操作权限,确保只有授权人员才能进行相关操作。
  • 【强制】按照预先制定的操作步骤进行操作,确保每一步操作都记录在案。
  • 【强制】在发布完成后,及时进行回归验证,确保操作执行正确且系统功能正常。
  • 【强制】对定期脚本的执行过程和结果要有监控告警和打印日志。
  • 【建议】涉及重大的变更发布时,制定详细的回滚方案,确保在操作出现问题时能够快速恢复到操作前的状态。常见的手段是备份当前数据库状态,准备好回滚脚本。
  • 【建议】在操作完成后,进行总结和反馈,记录操作过程中出现的问题和解决方案,以便后续改进。
  • 【建议】定期进行数据库和脚本操作相关的培训和知识共享,提升团队成员的操作能力。

4.发布依赖确认

发布依赖问题通常涉及到在软件发布过程中,系统组件、库或服务的依赖关系出现不一致或冲突,可能导致应用程序运行不稳定或失败。

为避免发布依赖不满足导致的问题,可通过如下措施规避:

  • 【强制】跨组的事项负责人需要梳理发布依赖项。
  • 【强制】跨组的事项一定要确定负责人,统一发布节奏。
  • 【强制】现网功能有损,修复发布的第一时间应该是修复功能。要根据功能的情况、修复的复杂度,重要程度去思考如何发布。

5.发布规范

系统发布规范是指在软件系统开发和部署过程中,为了确保系统的稳定性、安全性和可维护性而制定的一系列标准和流程。这些规范有助于团队在发布新版本时保持一致性,减少错误,确保用户体验。以下是一些关键的系统发布规范:

强制:

  • 确认即将发布的版本已通过CI/CD流水线的所有测试,并且版本号正确。
  • CI流水线应该有增量覆盖率的拦截节点,不允许代码未经测试就发布上线。
  • 检查服务器配置、网络连接、数据库、MQ、Redis 等,确保已经配置正确。
  • 选择适当的发布时间,如盘后,确保在问题发生时有足够的时间进行处理,且不会影响到大部分用户。
  • 在发布完成后,及时进行功能验证,确保新版本功能正常,系统稳定。例如验证关键功能、接口、性能指标等。
  • 严格控制发布权限,确保只有授权人员才能进行服务发布操作。
  • 涉及其他依赖方的发布,需要通知对应依赖方,依赖方确认后方可发布。比如发布大流量场景应提前通知数据上游扩容,以免请求量激增导致上游服务被压垮。

建议:

  • 涉及重大发布时,按照预先制定的发布步骤进行操作,确保每一步操作都记录在案。
  • 在发布完成后,进行总结和反馈,记录发布过程中出现的问题和解决方案,以便后续改进。
  • 编写详细的发布文档,记录发布步骤、注意事项、回滚方案等。
  • 定期进行发布相关的培训和知识共享,提升团队成员的发布操作能力。
  • 生产环境的变更及时同步到验证群,并@相关同事进行double check。

6.服务下线

服务下线属于高危高作,可能会对系统的可用性和用户体验产生负面影响。为减少服务下线所带来的问题需要制定严格的规范流程和应急措施。

  • 【强制】制定下线计划:明确服务下线的目标和理由(如淘汰过时的服务、进行重大升级等)。制定详细的时间表,包括服务下线的开始时间、各阶段时间点和预计完成时间。
  • 【强制】通知相关方:内部通知:通知开发、运维、产品、客服等相关团队,确保所有团队了解服务下线的计划和影响。外部通知:向用户发布公告,告知服务下线的时间、影响范围和替代方案。如果可能,提供替代服务或解决方案。
  • 【强制】逐步下线:根据服务的功能模块逐步下线,减少对用户的影响。可以通过逐步停用功能或减少流量的方式进行。
  • 【强制】回滚计划。指定服务下线过程中发生意外情况的回复计划,比如服务重新上线,数据恢复等。
  • 【建议】收集反馈:用户反馈:收集用户对服务下线过程的反馈,了解用户体验和问题。内部反馈:收集团队对下线过程的反馈,评估下线过程中的问题和改进建议。

参考文献

相关文章:

后台运维操作建议

文章目录 1.版本升级2.配置发布3.数据库/脚本操作4.发布依赖确认5.发布规范6.服务下线参考文献 1.版本升级 版本升级是软件维护和演进中的关键环节,但它可能带来一系列问题。这些问题涉及兼容性、功能、性能、安全性等方面。 【强制】版本管理:使用版本…...

NX二次开发调用内部函数设置对象穿透显示DSS_ATTR_set_show_through

获取动态库libdisp.dll的路径 void TcharToChar(const TCHAR* tchar, char* _char) {int iLength; #if UNICODE//获取字节长度 iLength = WideCharToMultiByte(CP_ACP, 0, tchar, -1, NULL, 0, NULL, NULL);//将tchar值赋给_char WideCharToMultiByte(CP_ACP, 0, tchar, …...

ubuntu16.04ros-用海龟机器人仿真循线系统

下载安装sudo apt-get install ros-kinetic-turtlebot ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-interactions ros-kinetic-turtlebot-simulator ros-kinetic-kobuki-ftdi sudo apt-get install ros-kinetic-rocon-*echo "source /opt/ros/kinetic/setup.bash…...

解决Ubuntu 20.04上编译OpenCV 3.2时遇到的stdlib.h缺失错误

解决Ubuntu 20.04上编译OpenCV 3.2时遇到的stdlib.h缺失错误 您在 Ubuntu 20.04 上编译 OpenCV 3.2 时遇到的错误与 C 标准库的头文件配置问题有关。错误消息指出系统无法找到 <stdlib.h>&#xff0c;这通常与预编译头文件的处理、GCC 版本或者头文件搜索路径有关。下面…...

HTML综合案例

为了前端考试。 效果图&#xff1a; HTML代码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><…...

TanStack——为现代前端开发提供高性能和灵活的工具

TanStack 是一个由社区主导的开源项目集合&#xff0c;专注于为现代前端开发提供高性能和灵活的工具。它包括多个流行的 JavaScript 和 TypeScript 库&#xff0c;主要用于处理表格、查询、虚拟化、状态管理等功能。 文章目录 1、TanStack Query&#xff1a;1.1 useQuery&#…...

Java爬虫️ 使用Jsoup库进行API请求有什么优势?

在Java的世界里&#xff0c;Jsoup库以其强大的HTML解析能力而闻名。它不仅仅是一个简单的解析器&#xff0c;更是一个功能齐全的工具箱&#xff0c;为开发者提供了从网页抓取到数据处理的一站式解决方案。本文将深入探讨使用Jsoup库进行API请求的优势&#xff0c;并提供代码示例…...

React源码02 - 基础知识 React API 一览

1. JSX到JavaScript的转换 <div id"div" key"key"><span>1</span><span>2</span> </div>React.createElement("div", // 大写开头会当做原生dom标签的字符串&#xff0c;而组件使用大写开头时&#xff0c;这…...

COMSOL with Matlab

文章目录 基本介绍COMSOL with MatlabCOMSOL主Matlab辅Matlab为主Comsol为辅 操作步骤常用指令mphopenmphgeommghmeshmphmeshstatsmphnavigatormphplot常用指令mphsavemphlaunchModelUtil.clear 实例教学自动另存新档**把语法套用到边界条件**把语法套用到另存新档 函数及其微分…...

【报表查询】.NET开源ORM框架 SqlSugar 系列

文章目录 前言实践一、按月统计没有为0实践二、 统计某月每天的数量实践三、对象和表随意JOIN实践四、 List<int>和表随意JOIN实践五、大数据处理实践六、每10分钟统计Count实践七、 每个ID都要对应时间总结 前言 在我们实际开发场景中&#xff0c;报表是最常见的功能&a…...

PostgreSQL数据库访问限制详解

pg_hba.conf 文件是 PostgreSQL 数据库系统中非常重要的一个配置文件&#xff0c;它用于定义哪些用户&#xff08;或客户端&#xff09;可以连接到 PostgreSQL 数据库服务器&#xff0c;以及他们可以使用哪些认证方法进行连接。 pg_hba.conf 的名称来源于 "Host-Based Aut…...

【test linux】创建一个ext4类型的文件系统

创建一个ext4类型的文件系统 dd 是一个非常强大的命令行工具&#xff0c;用于在Unix/Linux系统中进行低级别的数据复制和转换。这条命令的具体参数含义如下&#xff1a; if/dev/zero&#xff1a;指定输入文件&#xff08;input file&#xff09;为 /dev/zero&#xff0c;这是一…...

如何在繁忙的生活中找到自己的节奏?

目录 一、理解生活节奏的重要性 二、分析当前生活节奏 1. 时间分配 2. 心理状态 3. 身体状况 4. 生活习惯 1. 快慢适中 2. 张弛结合 3. 与目标相符 三、掌握调整生活节奏的策略 1. 设定优先级 2. 合理规划时间 3. 学会拒绝与取舍 4. 保持健康的生活方式 5. 留出…...

AI-PR曲线

PR曲线 人工智能里面的一个小概念。 2.3 性能度量&#xff08;查全率&#xff0c;查准率&#xff0c;F1&#xff0c;PR曲线与ROC曲线&#xff09; 预测出来的是一个概率&#xff0c;不能根据概率来说它是正类还是负类&#xff0c;要有一个阈值。 查准率&#xff08;Precision&…...

Guava 提供了集合操作 `List`、`Set` 和 `Map` 三个工具类

入门示例 guava 最佳实践 学习指南 以下是使用Google Guava库中的工具方法来创建和操作List、Set、Map集合的一些示例&#xff1a; List相关操作 创建List 使用Lists.newArrayList()创建一个新的可变ArrayList实例。List<Integer> list Lists.newArrayList(1, 2, 3);/…...

深入解析 Elasticsearch 集群配置文件参数

在自建 Elasticsearch 集群时&#xff0c;我们需要通过 elasticsearch.yml 文件对节点角色、网络设置、集群发现和数据存储路径等进行灵活配置。配置项的合理设置对集群的稳定性、性能与扩展性影响深远。本文将以一个示例配置文件为蓝本&#xff0c;逐条解析各参数的含义与建议…...

WebMvcConfigurer和WebMvcConfigurationSupport(MVC配置)

一:基本介绍 WebMvcConfigurer是接口&#xff0c;用于配置全局的SpringMVC的相关属性&#xff0c;采用JAVABean的方式来代替传统的XML配置文件&#xff0c;提供了跨域设置、静态资源处理器、类型转化器、自定义拦截器、页面跳转等能力。 WebMvcConfigurationSupport是webmvc的…...

用 javascript 来回答宇宙外面是什么

宇宙外面是什么呢? 估计这个问题要困扰很多人, 让我们用一段 javascript 代码来回答一下. 一, 从一段代码说起 var 地球 {名字 : "地球",女友 : "月亮",外面 : {名字 : "太阳系",老大 : "太阳",老二 : {名字 : "木星",二…...

我的性能优化经验

专业方向&#xff1a;App cpu/memory/gpu/流畅度/响应时间的优化&#xff0c;Anr&#xff0c;Framework CarPowerManagementService模块的&#xff08;STR&#xff09;&#xff0c;从0~1完成性能监控体系搭建&#xff0c;完成3大版本迭代高质量性能交付 响应时间&#xff1a; …...

XSLT 编辑 XML

XSLT 编辑 XML 介绍 XSLT&#xff08;可扩展样式表语言转换&#xff09;是一种用于转换XML文档的语言。它允许开发人员将XML数据转换为其他格式&#xff0c;如HTML、PDF或纯文本。XSLT通过使用XPath查询来定位XML文档中的元素&#xff0c;并对这些元素应用转换规则。在本教程…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storms…...