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

news2024/9/23 21:31:44

环境混用来带的影响

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

一:背景介绍

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

背景

之前公司是使用开发环境的产品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.coloradmin.cn/o/392373.html

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

相关文章

你想知道的OSPF协议知识点都在这里了

1、OSPF协议概述 1)为什么需要动态路由协议? 静态路由是由工程师手动配置和维护的路由条目,命令行简单明确,适用于小型或稳定的网络。静态路由有以下问题:a)无法适应规模较大的网络:随着设备数量增加,配置量…

SpringBoot学习笔记(三)整合Logback日志框架

一、日志框架介绍1、常见日志框架目前我们常见的日志框架为Log4j、Log4j2、Logback这3种,并且现在很多的工具包里面都会自带日志框架,因此我们使用要格外小心日志框架的冲突。2、三种日志框架之间的关系最先有Log4j,然后因为Log4j有很大的性能…

uniapp系列-图文并茂手把手教你hbuilder进行uniapp云端打包 - 安心打包

什么是安心打包 提交App的模块配置信息到云端,在云端打包机生成原生代码包 为什么使用云打包 更安全:打包时不提交应用代码、证书等信息更快速:非首次打包时不用提交云端打包机排队等待,本地直接出包省流量:减少了打…

Linux开发环境配置--正点原子阿尔法开发板

Linux开发环境配置–正点原子阿尔法开发板 文章目录Linux开发环境配置--正点原子阿尔法开发板1.网络环境设置1.1添加网络适配器1.2虚拟网络编辑器设置1.3Ubuntu和Windows网络信息设置Ubuntu网络信息配置方式:1.系统设置->网络->选项2.配置网络文件2源码准备2.…

Vuex 状态管理

文章目录Vuex概述安装单向数据流Vuex核心概念StatemapState 辅助函数扩展运算符GettermapGetters 辅助函数Mutation提交载荷提交载荷对象对象风格提交使用常量替代mutation事件类型Action异步分发Module命名空间Vuex 概述 Vuex 是一个状态管理库,用于管理 Vue.js …

CRM系统是什么?为什么使用它?

CRM系统是什么?为什么使用它?这篇来简单说下,CRM系统是什么?能帮助我们做什么?有什么好处? 01 CRM系统是什么? 我总结了7种关于CRM的概念,任意一个解释得其实都没什么问题&#xff…

【数据结构】核心数据结构之二叉堆的原理及实现

1.大顶堆和小顶堆原理 什么是堆 堆(Heap)是计算机科学中一类特殊的数据结构,通常是一个可以被看作一颗完全二叉树的数组对象。 完全二叉树 只有最下面两层节点的度可以小于2,并且最下层的叶节点集中在靠左连续的边界 只允许最后…

2023FL Studio最新中文版电子音乐、混音和母带制作DAW

水果具有独特的底层逻辑,其开创了编曲“块”的思维。用FL Studio编曲的流程是在把一个样式编辑好,然后将编辑好的样式当做音频块,在播放列表中像“搭积木”一样任意编排,形成一首歌,这种模式非常利于电子音乐编曲。 2…

Apinto V0.12 发布:新增流量镜像与 Mock 插件,路由特性更丰富!

Hello~ 各位开发者朋友们好呀, Eolink 旗下开源网关 Apinto 本周又更新啦!这次的更新我们给大家带来了 2个好用的插件,且目前已经支持静态资源路由了!希望新的功能能让大家的开发工作更加高效 ~ 1、新增流量镜像插件 …

学习streamlit-1

Streamlit A faster way to build and share data apps streamlit在几分钟内就可以将数据脚本转换为可共享的web应用程序,并且是纯python编程,无需前端经验。 快速开始 streamlit非常容易上手,运行demo只需2行代码: pip install…

0306spring--复习

一,spring是什么 Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的容器框架 理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架 优点&#xff1…

Windows系统利用Qemu仿真ARM64平台

Windows系统利用Qemu仿真ARM64平台0 写在最前1 Windows安装Qemu1.1 下载Qemu1.2 安装Qemu1.3 添加环境变量1.4测试安装是否成功2. Qemu安装Ubuntu-Server-Arm-642.1 安装前的准备2.2 安装Ubuntu server arm 64位镜像3 Windows配置Qemu网络和传输文件3.1 参考内容3.2 Windows安装…

正版Scrivener 3 论文/小说写作工具神器软件

一款非常优秀的写作软件,提供了各种写作辅助功能,如标注多个文档、概述介绍、全屏幕编辑、快照等,能够轻松、便捷的辅助作者从作品构思、搜集资料、组织结构、增删修改到排版输出的整个写作流程。 作为一个专业的写作软件,Scriven…

spring 的invokeBeanFactoryPostProcessors()

在spring启动过程中有个10多个关键的方法其中invokeBeanFactoryPostProcessors()在函数在BeanDefinition完全加载后执行,实现的是spring bean的后置增强器BeanFactoryPostProcessor。 BeanFactoryPostProcessor在bean的生命周期中&#xff0…

企业移动内容管理(MCM)

1.什么是移动内容管理 (MCM) 移动内容管理 (MCM) 是指在组织中使用的移动设备上分发和管理企业文件的过程,以确保授权用户可以通过批准的设备安全地访问所需的资源。MCM 允许 IT 管理员在其组织员工使用的智能手机、平…

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

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

Vue学习笔记(6)

6.1 组件 6.1.1 什么是组件 Vue的组件是可复用的Vue实例,它可以封装HTML元素和 CSS样式以及与之相关的JavaScript行为。每个组件都有自己的作用域,因此它可以避免全局作用域中的命名冲突,并且可以方便地在不同的Vue实例中重复使用。组件的结…

2023年武汉安全员C证报考条件、流程、报名时间是什么?启程别

2023年武汉安全员C证报考条件、流程、报名时间是什么?启程别 安全员C建筑施工企业专职安全生产管理人员,是指在企业专职从事安全生产管理工作的人员,包括企业安全生产管理机构的负责人及其工作人员和施工现场专职安全生产管理人员。武汉安全员…

Firewall App Blocker v1.7 防火墙管理设置工具多语言版

Firewall App Blocker 是一款由 BlueLife 与 Velociraptor 开发的免费且功能强大的防火墙设置软件。在 Windows 操作系统中,您可以使用 Windows 防火墙来阻止或解除阻止某些应用程序的联网,然而微软并没有为 Windows 防火墙提供一个易于使用的界面,来让用户使用其强大的功能…

高斯分布、高斯混合模型、EM算法详细介绍及其原理详解

相关文章 K近邻算法和KD树详细介绍及其原理详解朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解决策树算法和CART决策树算法详细介绍及其原理详解线性回归算法和逻辑斯谛回归算法详细介绍及其原理详解硬间隔支持向量机算法、软间隔支持向量机算法、非线性支持向量机算法详细…