项目实战典型案例17——环境混用来带的影响

news/2024/5/18 16:46:38/文章来源:https://blog.csdn.net/wangwei021933/article/details/129339500

环境混用来带的影响

  • 一:背景介绍
    • 背景
    • 出现的事故
  • 二:思路&方案
    • 环境混用的危害
    • 如何彻底避免环境混用的问题
  • 四:总结
  • 五:升华

一:背景介绍

本篇博客是对对项目开发中出现的环境混用来带的影响进行的总结并进行的改进。目的是将经历转变为自己的经验。通过博客的方式分享给大家,大家一起共同进步和提高。

背景

之前公司是使用开发环境的产品godone中的上传文件的功能将生产环境的B产品的安装包上传到开发环境的fastdfs服务器中,并将开发环境的产品godone上传文件接口返回的安装包地址的域名替换为生产环境的B产品的域名。

如:https:// 生产环境B产品域名/godone/M00/00/0D/wKg82Jr3yOEPb5mAAAAJsndS8436.apk

再通过将产品B下载地址转二维码支持官网的扫描二维码下载生产环境的B产品的安装包。

出现的事故

访问产品B的下载地址,出现超时报错如下截图:
在这里插入图片描述
排查:去开发环境的fastdfs服务curl访问www.baidu.com很慢,怀疑是哪儿连接有问题,导致超时。重启了本机的nginx也不行,最后重启了系统,最后解决了问题。各个环境不可以混着用

二:思路&方案

出现事故的原因很可能是哪儿的连接出现问题,虽然最后通过重启系统解决了这个问题但是具体的原因没有找到。
从这个案例中出现最主要的问题就是生成环境开发环境混着用。

环境混用的危害

1.由于环境混用,导致原有(环境配套,生产配生产,测试配测试,开发配开)的隔离被破坏,将会导致各个环境受到影响的因素增多更加容易出现事故。如:生产环境的产品A,配套使用了开发环境产品B,由于开发环境产品B进行迭代升级,将影响生产环境不分功能无法使用,什么生产环境完全无法使用。
2.通常情况下,处于充分利用服务器资源的条件下,产品的生产环境配置>测试环境>开发环境,一方面资源得不到充分利用,另一方面各个产品的环境进行混用将会影响甚至导致出现生产事故。

如何彻底避免环境混用的问题

从管理手段上:
1.建立相应的文档规范以及制度说明禁止环境混用,以及说明出现环境混用的危害,以及一旦进行环境混用的惩戒措施。
2.通过审批的方式,如果需要生产A产品需要依赖生产B产品需要发送类似的审批,最后需要配置结果附上进行闭环,保证环境使用正确。
3.实施代码审查,开发完成的代码或者修改的服务器配置等等,需要进行代码审查,来保证环境使用正确。

从技术手段上
1.分配权限,或者是权限隔离,之后xxx级别的人,或者什么角色的人。可以进行环境配置。
2. 通过脚本的方式自动检测配置中心中是各个环境配对正常。

四:总结

  1. 对于一个问题的解决方式,不止有一种方式,通过灰度认知,分析多种解决问题的方式,最后黑白决策选择出最好的一种解决问题的方式。
  2. 对于暂时不知道答案的问题,可能是能力不够,知识面不够。但是需要通过记录的方式记下来,当再次遇到或者有想法的时候能够快速回忆起来。这样会有豁然开朗的感觉。
  3. 对于如何彻底避免环境混用的问题,如果大家有更好的想法,特别欢迎评论给博主,感激不尽。

五:升华

  1. 隔离,不仅在此处进行了体现,分层,接口也是一种隔离。
  2. 对于nginx、以及fastDFs的还需要进行后续系统的学习,目前只是知道有这个东西,有些什么功能。

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

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

相关文章

JAVA后端部署项目三步走

1. JAVA部署项目三步走 1.1 查看 运行的端口 lsof -i:8804 (8804 为端口) 发现端口25111被监听 1.2 杀死进程,终止程序 pid 为进程号 kill -9 pid 1.3 后台运行jar包 nohup java -jar -Xms128M -Xmx256M -XX:MetaspaceSize128M -XX:MaxM…

基于半车悬架的轴距预瞄与轴间预瞄仿真对比

目录 前言 1. 半车悬架模型 2.轴距预瞄(单点预瞄)和轴间预瞄(两点预瞄)原理与仿真分析 2.1轴距预瞄(单点预瞄) 2.1.1预瞄原理 2.2.轴间预瞄(两点预瞄) 2.2.1预瞄原理 2.3仿真分析 3.总结 前言 对于悬架而言,四个车轮实际的输入信息是受到前后延时以及左右相…

Jetpack Compose 中的重组作用域和性能优化

只有读取可变状态的作用域才会被重组 这句话的意思是只有读取 mutableStateOf() 函数生成的状态值的那些 Composable 函数才会被重新执行。注意,这与 mutableStateOf() 函数在什么位置被定义没有关系。读取操作指的是对状态值的 get 操作。也就是取值的操作。 从一…

路由协议(OSPF、ISIS、BGP)实验配置

目录 OSPF基础实验 建立OSPF邻居 配置虚连接 配置接口的网络类型 配置特殊区域 配置路由选路 配置路由过滤 ISIS基础实验配置 配置ISIS邻居建立 配置认证 配置路由扩散 配置路由过滤 配置定时器 BGP基础实验配置 建立BGP对等体 建立IBGP对等体 建立EBGP对等体…

音频基础知识简述 esp-sr 上手指南

此篇博客先对音频基础知识进行简要叙述,然后帮助读者入门 esp-sr SDK。 1 音频的基本概念 1.1 声音的本质 声音的本质是波在介质中的传播现象,声波的本质是一种波,是一种物理量。 两者不一样,声音是一种抽象的,是声…

第二章Linux操作语法1

文章目录vi和vim常用的三种模式vi和vim快捷键Linux开机,重启用户管理用户信息查询管理who和whoami用户组信息查询管理用户和组的相关文件实用指令集合运行级别帮助指令manhelp文件管理类pwd命令ls命令cd命令mkdir命令rmdir命令rm命令touch命令cp指令mv指令文件查看类…

10.单点登录原理及JWT实现

单点登录原理及JWT实现 一、单点登录效果 首先我们看通过一个具体的案例来加深对单点登录的理解。案例地址:https://gitee.com/xuxueli0323/xxl-sso?_fromgitee_search 把案例代码直接导入到IDEA中 然后分别修改下server和samples中的配置信息 在host文件中配置 …

【Opencv项目实战】图像的像素值反转

文章目录一、项目思路二、算法详解2.1、获取图像信息2.2、新建模板2.3、图像通道顺序三、项目实战:彩图的像素值反转(方法一)四、项目实战:彩图的像素值反转(方法二)五、项目实战:彩图转换为灰图…

Spark Catalyst

Spark Catalyst逻辑计划逻辑计划解析逻辑计划优化Catalyst 规则优化过程物理计划Spark PlanJoinSelection生成 Physical PlanEnsureRequirementsSpark SQL 端到端的优化流程: Catalyst 优化器 : 包含逻辑优化/物理优化Tungsten : Spark SQL的优化过程 : 逻辑计划 …

pytorch安装的超级详细教程(没有之一)

一、发展历程 (简单介绍) (15年)caffe --> (16年)tensorflow1.x --> (17年)keras --> (18年)Tensorflow2.x --> (19年)pytorch。 面向gihub开源项目编程。 向下支持比较好,各个版本之间支持比较好,兼容性强。 版本…

自动驾驶介绍系列 ———— 看门狗

文章目录硬件看门狗软件看门狗差异分析延申窗口看门狗硬件看门狗 硬件看门狗的本质上是一个定时器电路。通常存在一个输入,输入到MCU的RST端。在正常工作状态下,MCU每隔固定时间间隔会输出一个信号给RST端,实现对看门狗端清零。如果在指定的时…

全网最全之接口测试【加密解密攻防完整版】实战教程详解

看视频讲的更详细:https://www.bilibili.com/video/BV1zr4y1E7V5/? 一、对称加密 对称加密算法是共享密钥加密算法,在加密解密过程中,使用的密钥只有一个。发送和接收双方事先都知道加密的密钥,均使用这个密钥对数据进行加密和解…

JAVA开发运维(nginx工作原理)

nginx源码目录结构: . ├── auto 自动检测系统环境以及编译相关的脚本 │ ├── cc 关于编译器相关的编译选项的检测脚本 │ ├── lib nginx编译所需要的一些库的检测脚本 │ ├── os 与平台相关的一些系统参数…

【3.6】链表、操作系统CPU是如何执行程序的、Redis数据类型及其应用

链表 题目题型203. 移除链表元素 - 力扣(LeetCode)辅助头节点解决移出head问题707. 设计链表 - 力扣(LeetCode)辅助头节点206. 反转链表 - 力扣(LeetCode)迭代 / 递归19. 删除链表的倒数第 N 个结点 - 力扣…

web餐饮开源程序

简介 一款专门针对餐饮行业而开发桌面应用程序 技术 借助Panuon.UI.Silver控件库,开发的一款餐饮软件。 运行环境:.NETFramework,Versionv4.8。 运行数据库:MySql。 ORM框架:SqlSugar。 第三方插件:Panuon.UI.Silv…

网上订餐管理系统的设计与实现

技术:Java、JSP等摘要:随着信息技术的广泛使用,电子商务对于提高管理和服务水平发挥着关键的作用。越来越多的商家开始着手于电子商务建设。电子商务的发展为人们的生活提供了极大的便利,也成为现实社会到网络社会的真实体现。当今…

来吧!接受Kotlin 协程--线程池的7个灵魂拷问

前言 之前有分析过协程里的线程池的原理:Kotlin 协程之线程池探索之旅(与Java线程池PK),当时偏重于整体原理,对于细节之处并没有过多的着墨,后来在实际的使用过程中遇到了些问题,也引发了一些思考,故记录之…

网络协议丨从物理层到MAC层

我们都知道TCP/IP协议其中一层,就是物理层。物理层其实很好理解,就是物理攻击的物理。我们使用电脑上网时的端口、网线这些都属于物理层,没有端口没有路由你没有办法上网。网线的头我们叫水晶头,也是物理层的一份子。如果你的面前…

深入理解java虚拟机精华总结:性能监控和故障处理工具、类加载机制

深入理解java虚拟机精华总结:性能监控和故障处理工具、类加载机制性能监控和故障处理工具、类加载机制jpsjstatjinfojmapjhatjstackVisualVM类加载机制类加载的时机类加载的过程加载验证准备解析初始化类加载器类与类加载器双亲委派模型破坏双亲委派模型往期内容&am…

X264简介-Android使用(二)

X264简介-Android使用(二) 4、Ubuntu上安装ffmpeg: 检查更新本地软件包(如果未更新,reboot Vmware): sudo apt update sudo apt upgrade官网下载的source文件安装: http://ffmpe…