基石Apollo国际化整合及配置上线规范治理

news2024/11/14 22:59:44

背景

随着公司站点的增多和国际化业务的发展,Apollo配置平台也呈现出多国家、多环境部署、各环境配置孤立操作、配置上下线无规范流程的情况。基于当前的情况,主要的痛点问题如下:

国际化apollo未与主营apollo统一, 导致国际化Apollo生产配置可以随意变更,风险极大;用户在使用过程中需要同时打开67个平台进行操作,效率极低。

由于缺乏配置上线流程规范,用户在各环境之间随意增加和删除配置,导致各环境配置差异大;研发、测试人员协作过程中极易出现漏配置,协作成本高;配置不经过测试环境直接上生产,导致无法测试回归,极易出现生产事故。

规范治理

国际化apollo接入基石统一管理

针对当前国际、主营使用规范不统一,操作平台多,环境多,效率低,风险大的问题。主要的解决思路是将国际化apollo接入基石进行统一管理,如何进行统一管理,思路如下:

数据现状分析

国家及环境数据映射

业务 / 环境测试环境预发环境生产环境主营是是是印尼是

印尼MF

菲律宾是

主营测试站点和国际化测试站点使用同一套测试环境数据

主营预发为单独部署的服务;国际化中使用生产环境的UAT集群作为预发环境,无独立预发服务

主营和国际化的生产服务全部为单独的一套部署

设计要点:

测试环境站点数据,通过各国家域名后缀进行区分和筛选

设计(国家、环境)与网关环境的映射关系,网关环境对应真实的Apollo实例

在前端的公共请求中根据(国家 + 环境 -> 【网关环境】进行接口地址拼接后,通过生产内网网关平台进行数据转发到对应的apollo部署服务

对功能进行整体梳理后,改造点主要分为基本配置功能改造,对比同步功能改造,审批功能改造

后续有新国家接入时,能通过自动化配置的方式接入基石

国家、环境 Apollo实例的对应映射关系如下:

国际化整体改造架构

基本功能架构改造

获取单一环境的数据功能通过网关映射转发的方式实现

对比同步功能改造

对比功能中涉及到同时获取两个环境的数据做对比,加入到基石后端做调度

审批功能改造

审批后的回调需要调到不同国家的apollo实例,通过拼接bpm的回调地址来进行分发

整体实现效果展示

系统层面规范配置上下线

针对目前Apollo缺乏上线规范,协作成本高,上线漏配置,配置不经过测试直接上生产,各环境配置差异大的问题。我们决定与业务中台团队合作,按目前在中台推行的配置上下线规范,系统层面落地来提升配置上线效率和及规范性。

业务中台推行的配置上线规范如下
设计要点

配置上线、下线流程以工单的形式来保证和约束

关闭UAT、预发、生产配置添加和删除入口,只能通过工单来进行上下线

将配置同步和发布能力结合到工单中,各环境通过同步和发布实现完整的配置上、下线流程,提升效率

动态检测配置的存在(fat\uat\pre\pro),根据存在的配置灵活编排工单中的上、下线流程

配合发布卡点,校验工单上线状态,已经增加工单到期提醒,防止工单漏上线

实现架构
实现效果

配置上线申请页面:用户在测试环境增加配置后,即可发起配置上线工单,申请页面具体动态检测配置能力

配置上线同步页面:同步页面能对比环境的配置差异,用户灵活选择需要同步的key

配置上线发布页面:发布页面能对key进行审批、发布上线,编排进流程中,提升用户上线效率

总结

通过对Apollo的国际化治理及配置上下线规范的推广和落地,基石平台已完成对于主营和国际化的apollo配置统一管理,并且已经具备自动化快速完成新国家的接入和适配能力;各站apollo配置上下线规范已覆盖所有站点,从目前的数据和用户反馈中,极大提升了配置上下线的效率及规范性。

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

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

相关文章

react umi把将file文件数据转成二进制流数据格式

后端要求文件上传传递二进制文件??? 参考 umi-request上传FormData类型问题_umi-request formdata-CSDN博客 import request from /utils/request; // 批量下发(此接口使用from表单接收) export async function issuance_audit_create(param…

第33讲:K8S集群StorageClass使用Ceph CSI供应商与Cephfs文件系统集成

文章目录 1.Ceph CSI供应商简介2.创建Cephfs文件系统为StorageCLass提供底层存储端2.1.创建Cephfs文件系统2.2.在Cephfs文件系统中为Storageclass创建子目录2.3.在Cephfs文件系统中创建一个子卷 3.在K8S集群中部署Cephfs-CSI供应商客户端3.1.下载Cephfs-CSI客户端的资源编排文件…

计算机网络——网络层(概念及IP地址)

网络层概念 网络层向上层提供的两种服务 在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接”还是“无连接”)曾引起了长期的争论。 争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统&#xff1f…

rfid资产管理系统解决方案 rfid固定资产管理系统建设方案

在现代化的仓库储备中,仅仅完成对货物进出的简单批次处理已经不再足够,对库内货品的种类、数量、生产属性、垛位等信息的清晰记录变得至关重要。然而,传统的资产管理方式如条形码在长期使用中逐渐暴露出不耐脏、数据存储量小、读取间隔短、不…

js吸顶导航

吸顶导航 当我们浏览页面篇幅较大,浏览过半的时候想回到导航位置,只能通过往回滚动或通过”回到顶部”重新滚动到导航位置,这样的操作显得繁琐与不便。于是便有了吸顶式导航的交互方式,吸顶条导航最大的好处是将最常用或者设计者最…

WAIC | 穿越千年!华院计算AIGC技术实现刘徽、祖冲之和毕达哥拉斯跨时空对话

祖冲之利用刘徽的割圆术,将圆周率π的近似计算精确到小数点后七位,这不仅是数学史上的一项重要突破,也是对无理数逼近问题的早期探索。在现代人工智能中同样能观察到数值逼近的思想,例如模型的训练通常依赖随机优化算法等数值方法…

2.贪心算法.基础

2.贪心算法.基础 基础知识题目1.分发饼干2.摆动序列3.最大子序和4.买股票的最佳时机24.2.买股票的最佳时机5.跳跃游戏5.1.跳跃游戏26.K次取反后最大化的数组和7.加油站8.分发糖果 基础知识 什么是贪心? 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 贪…

Studying-代码随想录训练营day33| 动态规划理论基础、509.斐波那契函数、70.爬楼梯、746.使用最小花费爬楼梯

第33天,动态规划开始,新的算法💪(ง •_•)ง,编程语言:C 目录 动态规划理论基础 动态规划的解题步骤 动态规划包含的问题 动态规划如何debug 509.斐波那契函数 70.爬楼梯 746.使用最小花费爬楼梯 总结 动态…

MSPM0G3507——时钟配置(与32关系)

先将32端时钟配置分为1,2,3如图 1是PSC左边未经分频的时钟源(HZ) 2是经过PSC分频的时钟信号(HZ) 3是最终的输出信号(HZ) 3输出的是一个定时器周期的HZ,可以转换成时间 …

哨兵系统:一套实时灵活可配置化的业务指标监控系统

简介: 在KOO分期的线下业务中,需要对很多关键业务指标进行实时监控,并需要根据一定的数据格式,通过企微机器人发往对应的企微群,因此KOO分期技术团队在KOO业务指标库之上,搭建了一套KOO分期业务指标监控系统&#xff…

ppt接单渠道大公开‼️

PPT 接单主要分两种:PPT 模板投稿和PPT 定制接单,我们先从简单的 PPT 模板投稿说起。 PPT 模板投稿 利用业余时间,做一些 PPT 模板上传到平台,只要有人下载你的模板,你就有收入。如果模板质量高,简直就是一…

Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析

章节内容 上一节我们完成了内容: Flume 启动测试Flume Conf编写Flume 测试发送和接收数据 背景介绍 这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。 之前已经在 VM 虚拟机上搭建过一次,但…

高德API接入安卓相关问题说明

高德API接入安卓相关问题说明 我们都在怀念过去,失去后我们才懂得珍惜,有些人或事早已经远去,可是还是会想起曾经拥有的岁月,会是一种喜悦,会是一种遗憾…… 目前Android开发已经普遍使用Android Studio,开…

优思学院|当今的丰田精益生产模式落伍了吗?

丰田曾经是全球销量最大的汽车制造商,不过现在却被挖苦为可能会成为下一个汽车界的“诺基亚”。 丰田的前CEO丰田章男对于电动汽车的前景持极度怀疑态度,今年4月他下台,由年轻14岁的佐藤恒治接任。这一变动反映了丰田对电动汽车态度的180度大…

streamlit table转置显示

streamlit table转置显示,并且原始的表头放在最左侧 原始表格 代码 import streamlit as st import pandas as pd# 创建一个示例 DataFrame data {Column1: [1, 2, 3],Column2: [4, 5, 6],Column3: [7, 8, 9] } df pd.DataFrame(data)# 转置 DataFrame transposed_df df.T…

进程,进程的调度,进程的调度算法(详解)ฅ( ̳• · • ̳ฅ)

目录 😇进程的概念: 😚进程的组成: 🥰进程的调度: 一.进程调度的概念: 二.进程调度的方式: 三.进程调度的时机: 🤪进程的调度算法: 一.先…

如何通过运动改善老年人的腿部肌肉力量?

老年人腿部肌肉力量的重要性 随着年龄的增长,肌肉自然会逐渐萎缩,特别是腿部肌肉。腿部肌肉的强弱直接影响到老年人的行走能力、平衡能力和日常生活的自理能力。因此,通过适当的运动来改善和增强腿部肌肉力量对于老年人来说至关重要。 适合老…

1Panel安装教程:使用Linux服务器安装1Panel面板全流程

使用阿里云服务器安装1Panel面板全流程,云服务器操作系统为CentOS 7.9,安装1Panel非常简单,先执行1Panel安装命令,然后在云服务器安全组中开通1Panel默认端口号、安全入口、用户名和密码等操作,阿里云百科整理详细安装…

前端八股文 跨域

前端跨域和常见解决方案 一、什么是跨域 同源策略是一个重要的安全策略,它用于限制一个origin的文档或者它加载的脚本如何能与另一个源的 资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。 有一点必须要注意:跨域并不是请求发不…

Unity插件 Unitask学习日志

Unity插件 Unitask学习日志 下载地址 https://github.com/Cysharp/UniTask点击这里可以查阅中文文档 在Unity 2020,2021 中使用UPM下载会找不到,可以使用2022版本的unity可以在upm中找到。 安装方式: 下载zip之后解压, 复制Plugins 到Uni…