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

Day912.多环境配置隔离 -SpringBoot与K8s云原生微服务实践

多环境配置隔离

Hi,我是阿昌,今天学习记录的是关于多环境配置隔离的内容。

多环境支持,是现在互联网开发研发和交付的主流基本需求。通过规范多环境配置可以规范开发流程,并同时提示项目的开发质量和效率等。

一个公司应该规范隔离开项目的多个环境,每个公司都会不一样,而且随着每个公司不一样的规模会有不一样的多环境情况。

以一下4个环境隔离举例:

  • DEV:开发环境,直接进行开发调试,一般都是开发人员的本机环境
  • TEST:测试环境,一般都是独立进行数据库隔离的,其针对测试人员和开发人员对功能进行测试的第一环境
  • UAT:用户接受测试环境,或灰度环境,对准备上线的功能最后一次测试
  • PROD:正式环境,真正接受用户流量的环境
    在这里插入图片描述

针对一个功能或需求,可以规范流程,如一个功能上线必须经过开发人员在DEV环境本地进行开发,后发布到TEST环境供测试人员进行功能的测试,完成基本测试后发布时候适配UAT环境进行最后一次测试,到最后真实发布到PROD环境。

有了环境发布流程,可以规范需求和功能上线的流程,就可以配合自动化测试发布的工具,也就可以集成CI/CD进行自动化工具发布。


多环境隔离优点

软件开发需要多环境配置隔离的主要原因是确保软件在不同的环境下都能够正确地运行,同时减少因为配置问题而引起的错误和故障。

在软件开发过程中,通常会存在多个不同的环境,例如开发环境、测试环境、生产环境等。

这些环境具有不同的特点和限制,例如硬件设备、网络配置、安全策略、数据存储等方面可能会有所不同。

如果在开发阶段不使用隔离的环境配置,开发人员可能会在开发环境中编写的代码在测试或生产环境中无法正常运行,因为这些环境的配置和限制不同。

这可能导致生产环境中出现不必要的错误和故障,严重影响软件的稳定性和可靠性。

通过使用多环境配置隔离,软件开发人员可以在不同的环境中使用相同的代码和配置,并确保软件在所有环境中都能够正确地运行。

此外,隔离的环境配置还可以防止在开发阶段意外影响生产环境,并提供更好的安全性和稳定性保障。因此,多环境配置隔离是软件开发中非常重要的一环,可以有效地提高软件开发和部署的效率和质量。

  • 提高软件的稳定性:通过多环境配置隔离,可以保证不同环境中的配置和资源是独立的,避免不同环境之间的干扰和冲突,从而提高软件的稳定性和可靠性。
  • 保障数据安全性:多环境配置隔离可以确保敏感数据不会在不同环境之间泄露或丢失,同时也可以避免不同环境之间的数据混淆和污染,提高数据的安全性和完整性。
  • 便于问题排查和修复:在多环境配置隔离的情况下,如果出现问题,可以快速定位到问题所在的环境,进行问题排查和修复,同时不会影响其他环境的正常运行。
  • 提高开发效率:通过多环境配置隔离,开发人员可以在独立的环境中进行开发和测试,不会受到其他环境的影响,从而提高开发效率和代码质量。
  • 支持灵活的部署策略:多环境配置隔离可以支持灵活的部署策略,例如可以先部署到开发环境进行测试,然后再部署到测试环境进行验证,最终再部署到生产环境中,从而保证软件的质量和稳定性。

多环境配置隔离是一种有效的软件开发和部署策略,可以提高软件的稳定性、数据安全性和开发效率,同时也支持灵活的部署策略和问题排查和修复。


多环境隔离的缺点

  • 需要额外的维护和管理成本:多环境配置隔离需要维护和管理多个环境的配置,包括开发、测试、预发布、生产等环境,需要投入更多的时间和精力进行管理和维护。
  • 可能会引入新的问题:由于多环境配置隔离需要在不同的环境中运行相同的软件和配置,可能会引入新的问题,例如兼容性问题、性能问题、安全问题等等,需要进行额外的测试和验证。
  • 可能会导致资源浪费:在多环境配置隔离的情况下,每个环境都需要独立的硬件和软件资源,可能会导致资源浪费,特别是对于小型团队或者资源有限的公司来说,这可能是一个问题。
  • 需要考虑版本控制和部署:多环境配置隔离需要考虑不同版本的软件和配置的管理和部署,需要建立相应的版本控制和部署策略,使得不同环境中的软件和配置保持一致和同步。

多环境配置隔离虽然可以提高软件的稳定性和可靠性,但也需要投入更多的维护和管理成本,并且可能会引入新的问题和导致资源浪费。因此,在实施多环境配置隔离时需要仔细考虑其成本和收益,并制定相应的策略和规范。


服务框架的支持环境隔离的好处

服务框架(Service Framework)是一种将服务化思想应用到软件架构中的设计模式,它提供了一系列的工具和组件来简化服务开发、管理和部署的过程,从而提高软件的可靠性、可扩展性和可维护性。

其带来的好处如下:

  • 抽象服务实现:服务框架可以将服务实现的具体细节隐藏在服务接口之后,使得服务提供者可以更加专注于业务逻辑的实现,而不必关注底层技术实现的细节,从而提高了开发效率和代码可维护性。
  • 统一接口规范:服务框架提供了统一的接口规范,使得服务提供者和服务使用者可以以一种统一的方式进行通信,从而简化了服务集成和调用的过程,同时也提高了系统的可扩展性和可维护性。
  • 基础设施自动化管理:服务框架提供了自动化的管理工具,包括服务注册、发现、调度、监控等,使得服务提供者可以更加方便地管理服务的生命周期,从而提高了系统的可靠性和稳定性。
  • 分布式处理:服务框架支持分布式处理,可以将服务部署到不同的节点上,从而支持大规模的并发处理和高可用性的架构设计,同时也提高了系统的性能和可扩展性。
  • 跨语言支持:服务框架支持多种编程语言和通信协议,使得不同的服务可以以一种统一的方式进行通信和协作,从而支持跨语言的服务调用和集成。

服务框架的支持可以提高软件的可靠性、可扩展性和可维护性,使得软件开发、集成和部署过程更加高效和简单。


针对如SpringBoot的服务框架,可以进行配置环境进行动态隔离和切换。

这样子可以开发人员针对同一套代码,灵活的适应不同的引用环境。

如在DEV环境不需要打对应的日志,则可以通过环境配置进行定制环境逻辑进行过滤。

代码如下举例

在这里插入图片描述


总结

软件开发是一个复杂的过程,需要考虑很多方面的因素,包括开发流程、技术选型、部署策略等等。

在这个过程中,多环境配置隔离是一个非常重要的概念,它可以提高软件的稳定性、数据安全性和开发效率,同时也支持灵活的部署策略和问题排查和修复。

针对如上,其多环境隔离有好有坏,但最终好处还是大于坏处,其可以灵活的多环境隔离测试,对bug进行合理灵活的测试,也可以针对不同的环境有不同的特定需求,如是否打印日志,是否需要发送短信来做不一样的配置。

这样子的多环境,可以合理的规范需求开发上线的流程,保证一定程度上的代码质量,让代码更加的稳定,开发的效率更加的高效,和针对用户数据的安全,并支持灵活的部署策略和问题排查和修复。


相关文章:

Day912.多环境配置隔离 -SpringBoot与K8s云原生微服务实践

多环境配置隔离 Hi,我是阿昌,今天学习记录的是关于多环境配置隔离的内容。 多环境支持,是现在互联网开发研发和交付的主流基本需求。通过规范多环境配置可以规范开发流程,并同时提示项目的开发质量和效率等。 一个公司应该规范…...

Imx6ull交叉编译nginx

Imx6ull交叉编译nginx 需要下好的包 Nginx(下载压缩包源码) nginx-rtmp-module(可以下载压缩包源码也可以 git clone https://github.com/arut/nginx-rtmp-module.git) pcre(下载源码) zlib(下载源码) openssl(下载源…...

阿里云短信验证

1.了解阿里云用户权限操作 需要通过个人账户获得 授权码(id、密码),再通过这些信息获得服务 阿里云网址 :https://www.aliyun.com/ 1.登陆阿里云服务器2.进入个人账号然后点击 AccessKey 管理3.创建用户组4.添加用户组权限&…...

Excel常用可视化图表

目录柱状图与条形图折线图饼图漏斗图雷达图瀑布图及甘特图旭日图组合图excel图表:柱状数据条、excel热力图、mini图可视化工具的表现形式:看板、可视化大屏、驾驶舱 柱状图与条形图 条形图是柱状图的转置 类别: 单一柱状图:反映…...

虹科分享 | 网络流量监控 | 数据包丢失101

什么是数据包? 数据包是二进制数据的基本单位,在网络连接的设备之间编号和传输,无论是在本地还是通过互联网。一旦数据包到达其目的地,它就会与其他数据包一起按编号重新组合,回到最初传输的较大消息中。 数据包是我们…...

毕设常用模块之舵机介绍以及使用方法

舵机 舵机是一种位置伺服的驱动器,主要是由外壳、电路板、无核心马达、齿轮与位置检测器所构成。其工作原理是由接收机或者单片机发出信号给舵机,其内部有一个基准电路,产生周期为 20ms,宽度为 1.5ms 的基准信号,将获…...

残酷现实:大部分的App小程序,日活<100

残酷现实:99%的APP小程序&#xff0c;日活<100 日活跃用户数量(DAU&#xff09;是一个核心指标 Daily Active Users 互联网的难度系数一路拉高 只有流过血的战士&#xff0c;才能意识到战场的残酷 趣讲大白话&#xff1a;赵本山小品台词&#xff0c; 残酷的现实已直逼我心理…...

excel 一对多数据查询公式 经典用法

所谓一对多&#xff0c;就是符合某个指定条件的有多个结果&#xff0c;要把这些结果都提取出来。 下面咱们就说说一对多查询的典型用法&#xff0c;先看数据源&#xff1a; A~D列是一些员工信息&#xff0c;要根据F2单元格指定的学历&#xff0c;提取出所有“本科”的人员姓名…...

Zookeeper3.5.7版本——客户端命令行操作(节点删除与查看)

目录一、节点删除示例1.1、节点删除1.2、递归节点删除二、查看节点状态示例一、节点删除示例 1.1、节点删除 在客户端上创建 test 节点&#xff0c;并查看该节点 [zk: localhost:2181(CONNECTED) 5] create /test "123456"删除 test 节点&#xff0c;并查看该节点 […...

一句话设计模式6:享元模式

享元模式:局部单例模式。 文章目录 享元模式:局部单例模式。前言一、享元模式的作用二、如何实现享元模式总结前言 享元模式其实很简单,但是如果用好,确实可以达到减少内存,事半功倍的效果;适合 系统要创建大量相似对象,相同对象等; 一、享元模式的作用 1 享元模式可以解决对象…...

【C语言进阶】文本与二进制操作文件,优化通讯录。

前言&#xff1a;上篇文章&#xff0c;我们已经学习了有关本地磁盘文件的常用文件操作&#xff0c;已经能够对本地文件进行调用与读写。我们磁盘中还存在着一些内容用二进制存储的文件&#xff0c;这也就是我们今天将要讲解的内容。一、文本文件与二进制文件根据数据的组织形式…...

CleanMyMac X4.20最新Mac系统垃圾清理工具

CleanMyMac X是一款Mac系统垃圾清理工具,可以清除Mac系统多余的语言包、系统缓存、应用程序、PowerPc软件运行库等,是硬盘瘦身的好工具。在面对一款多功能型的软件时&#xff0c;复杂的操作面板是最容易让人头疼的&#xff0c;好在 CleanMyMac 一直以来都原生支持简体中文语言&…...

为什么做知识管理,就想选择Baklib呢?

随着科技的不断发展&#xff0c;知识管理已经成为现代企业不可或缺的一个重要组成部分。由于信息化快速发展&#xff0c;企业每天都会产生大量的数据和信息&#xff0c;如何高效地获取、整理和利用这些信息已经成为了企业成功的关键因素之一。为了更好地管理企业知识&#xff0…...

Spring Cloud融合gateway自带GatewayFilter使用 | Spring Cloud 15

一、Spring Cloud Gateway内置GatewayFilter 路由过滤器允许以某种方式修改传入的 HTTP 请求或传出的 HTTP 响应。路由过滤器的范围是特定路由。Spring Cloud Gateway 包括许多内置的 GatewayFilter 工厂。 官网地址&#xff1a;https://docs.spring.io/spring-cloud-gateway…...

SVN 版本控制软件

SVN 版本控制软件 属于C/S结构软件&#xff08;客户端与服务端&#xff09; 服务端软件&#xff1a;VisualSVN 网址&#xff1a;Downloads | VisualSVN 下载好&#xff1a;VisualSVN-Server-5.1.3-x64.msi 客户端软件&#xff1a;TortoiseSVN 网址&#xff1a;http://tor…...

全流程基于最新导则下的生态环境影响评价技术方法及图件制作与案例

目录 专题一、生态环境影响评价框架及流程 专题二、基于遥感解译的土地利用现状图的编制 专题三、生物多样性测定及R语言分析 专题四、植被类型及植被覆盖度图的编制 专题五、生物量与净初级生产力测定&#xff1a;实测及模型 专题六、生态系统类型及服务价值评估 专题七…...

(蓝桥真题)分果果(动态规划)

题目链接&#xff1a;P8746 [蓝桥杯 2021 省 A] 分果果 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 样例1输入&#xff1a; 5 2 6 1 2 7 9 样例1输出&#xff1a; 0 样例2输入&#xff1a; 5 5 6 1 2 7 9 样例2输出&#xff1a; 2 分析&#xff1a;这道题的状态表…...

【CSS】CSS 背景设置 ① ( 背景颜色 | 背景图片 | 背景平铺 )

文章目录一、背景颜色1、语法说明2、代码示例二、背景图片1、语法说明2、代码示例三、背景平铺一、背景颜色 1、语法说明 CSS 的背景颜色样式语法 : 默认的背景颜色是 transparent 透明 ; background-color:颜色值;background-color 属性 可以 定义 文本颜色 , 其颜色值有三种…...

uniCloud基础使用

获取openID云函数use strict; exports.main async (event, context) > {//event为客户端上传的参数console.log(event : , event)// jscode2session 微信小程序登录接口&#xff0c;获取openidconst {code} event;// 云函数中如需要请求其他http服务&#xff0c;则使用uni…...

5、Elasticsearch优化

一、Elasticsearch集群配置 1、硬件选择 Elasticsearch的基础是 Lucene &#xff0c;所有的索引和文档数据是存储在本地的磁盘中&#xff0c; 具体的路径可在 ES 的配置文件 ../config/elasticsearch.yml 中配置&#xff0c;如下&#xff1a;磁盘在现代服务器上通常都是瓶颈。…...

深入解析Baichuan-7B:从GPT架构到LoRA微调的实践指南

1. 项目概述&#xff1a;从开源大模型到“百川”入海 最近在和朋友聊起国内大模型的开源生态时&#xff0c;总绕不开一个名字——“百川”。我说的不是地理上的河流&#xff0c;而是由百川智能公司开源的Baichuan系列大语言模型。今天想重点聊聊的&#xff0c;是它的起点&#…...

PX4-Autopilot扩展卡尔曼滤波状态估计系统深度解析与实战调优

PX4-Autopilot扩展卡尔曼滤波状态估计系统深度解析与实战调优 【免费下载链接】PX4-Autopilot PX4 Autopilot Software 项目地址: https://gitcode.com/gh_mirrors/px/PX4-Autopilot PX4-Autopilot作为开源无人机飞控系统的标杆&#xff0c;其核心状态估计模块EKF2&…...

【紧急通告】DeepSeek-R1毒性分类器存在语境盲区?3小时内验证并热修复的4种API级补丁

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;【紧急通告】DeepSeek-R1毒性分类器存在语境盲区&#xff1f;3小时内验证并热修复的4种API级补丁 近期社区报告指出&#xff0c;DeepSeek-R1毒性分类器在处理嵌套反讽、多轮对话上下文拼接及跨语言混合…...

Timoni高级功能揭秘:类型验证、签名和OCI分发

Timoni高级功能揭秘&#xff1a;类型验证、签名和OCI分发 【免费下载链接】timoni Timoni is a package manager for Kubernetes, powered by CUE and inspired by Helm. 项目地址: https://gitcode.com/gh_mirrors/ti/timoni Timoni是一个基于CUE的Kubernetes包管理器&…...

WarcraftHelper:让你的魔兽争霸3在现代电脑上焕然新生的终极指南

WarcraftHelper&#xff1a;让你的魔兽争霸3在现代电脑上焕然新生的终极指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还记得那些年&#xff0c…...

解读民法典基本规定第十条

民法典: 第一编 总则&#xff0c;第一章 基本规定 第十条 处理民事纠纷&#xff0c;应当依照法律&#xff1b;法律没有规定的&#xff0c;可以适用习惯&#xff0c;但是不得违背公序良俗。 一句话核心 先按国法判&#xff0c;国法没写明白&#xff0c;就按当地老规矩、民间习俗…...

2026年IEEE TASE,基于不平衡与平衡竞争策略辅助的双种群优化算法+约束多目标优化,深度解析+性能实测

目录1.摘要2.CMOPs3.提出方法4.结果展示5.参考文献6.代码获取7.算法辅导应用定制读者交流1.摘要 针对具有复杂碎片化可行域约束多目标优化难题&#xff0c;本文提出一种基于不平衡与平衡竞争策略辅助的双种群算法&#xff08;UBCSO&#xff09;&#xff0c;通过平衡种群的均匀…...

BilibiliVideoDownload故障排查指南:从登录失败到下载中断的全面解决方案

BilibiliVideoDownload故障排查指南&#xff1a;从登录失败到下载中断的全面解决方案 【免费下载链接】BilibiliVideoDownload Cross-platform download bilibili video desktop software, support windows, macOS, Linux 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…...

初创团队如何利用Taotoken管理多模型API成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 初创团队如何利用Taotoken管理多模型API成本 对于初创团队而言&#xff0c;在快速迭代产品、集成多个大语言模型以增强功能时&…...

通过MCP协议集成ChatGPT桌面应用,实现AI助手无缝协作

1. 项目概述与核心价值最近在折腾AI工作流&#xff0c;发现一个痛点&#xff1a;我经常在Claude Desktop或者Cursor这类支持MCP协议的AI助手里面写代码、分析问题&#xff0c;但有时候需要调用ChatGPT的能力&#xff0c;比如让它帮我润色一段英文&#xff0c;或者用它的代码解释…...