架构师需要懂的环境配置标准化

 2023-09-07 阅读 18 评论 0

摘要:架构师需要懂的环境配置标准化 文章目录架构师需要懂的环境配置标准化基本概述组件标准化数据标准化`springboot`环境中`flyway`的使用应用参数标准化 基本概述 在真实的研发环境中,一般存在local、developer、test、product等等环境。 如何在这些环境

架构师需要懂的环境配置标准化

文章目录

  • 架构师需要懂的环境配置标准化
    • 基本概述
    • 组件标准化
    • 数据标准化
      • `springboot`环境中`flyway`的使用
    • 应用参数标准化

基本概述

在真实的研发环境中,一般存在localdevelopertestproduct等等环境。

如何在这些环境中,实现统一的、标准化的配置问题是架构师需要考虑的一件事情。

每种环境一般都需要配置如下部分:

  1. 组件(MySQL、Redis、MongoDB等)
  2. 数据(MySQL中的表结构、特定的表数据,如:省市区数据)
  3. 应用参数

组件标准化

成为架构师的条件,除线上环境需要考虑到稳定性外,在运维角色没有对容器化有丰富经验的情况下,可以考虑线上环境传统部署,如:自己搭组件集群或者使用云服务。

其余环境皆使用容器化部署。

可以考虑的部署方案有如下:

  1. local部署:docker-composedevelopertest部署:docker-swarm or kubernetes
  2. 所有环境都基于kubernetes部署。

PS:部署脚本一般由运维角色维护,local部署脚本从运维角色获取。

附上一个local部署docker-compse脚本

  • docker-compose.yml
version: '2'services:mysql:image: mysql:5.6command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci]environment:MYSQL_ROOT_PASSWORD: 123456# For testing from the host:# mysql --host=127.0.0.1 --port=3306 --user root -pports:- "3306:3306"redis:image: redis:3.0command: ['redis-server', '--requirepass 123456']expose:- 6379ports:- "6379:6379"mongo:image: 'umputun/mongo-auth'environment:- MONGO_PASSWD=123456ports:- "27017:27017"

PS:docker-compose官方文档

在资产配置的标准化流程。PS:按需使用相应组件,也可以自己添加需要的组件,local环境没做数据持久化处理,如需用在其余环境,请参考文档配置。

数据标准化

数据标准化主要解决的是各环境表结构不一致的问题。

线上环境一定要关掉该功能。

线上环境的数据变更一定要按规范、走变更流程,经DBA或者运维角色执行。

其余环境个人解决方案:flyway

springboot环境中flyway的使用

  1. application.yml中填入相应配置文件
flyway:enabled: truebaseline-on-migrate: truelocations: "db/migration"schemas: table_name
  1. 在指定目录下设置配置脚本
    • 脚本命名规范:V{版本}__{脚本名}.sql
  2. 配置数据库环境
  3. 启动springboot项目
  4. 在数据库中查看表结构、表数据

PS:flyway官网

应用参数标准化

施工现场标准化配置。配置中心解决

apollonacosspring cloud config

local环境可以从配置中心拉一份developer环境配置下来,更改参数至local环境组件。

PS:各环境重要参数,通过配置中心配置,而不是放在项目目录,上传至git。这样配置信息不会有配置文件级外泄风险。

PS:apollo

PS:nacos

架构师怎么学、PS:spring cloud config

本文由博客一文多发平台 OpenWrite 发布!

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/14798.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息