听过多泳道吗?赶紧进来看看它怎么建设的~

简介: 多泳道,顾名思义,就是像游泳一样,有多个游泳道,他们互相不影响。 测试环境多泳道,其实是有一个主泳道,多条次泳道,主泳道是作为稳定的泳道,它可以访问其他泳道的服务,其他泳道是不稳定的,这样的话,可*保证测试环境的稳定性

前言

多泳道听过吗?它为了解决什么问题?它又长什么样子?具体实现是怎么做的?

多泳道样子

多泳道,顾名思义,就是像游泳一样,有多个游泳道,他们互相不影响。 测试环境多泳道,其实是有一个主泳道,多条次泳道,主泳道是作为稳定的泳道,它可以访问其他泳道的服务,其他泳道是不稳定的,这样的话,可以保证测试环境的稳定性

多泳道解决什么问题

背景:在测试阶段,我们经常会听到测试同学经常抱怨,测试进度被某个流程卡住,某某背锅开发同学在排查。有时会导致多个测试任务卡住,影响整个流程正常运作,所以我们需要保证测试环境的稳定性

其次在同一时间,有多个需求同时进行,那么如果A同学改了一个代码,导致test环境炸了,是不是我们也需要等卑微的小A同学修完bug才能继续。多泳道可以解决抢占问题,提高开发效率,就是测试同学通过自己的泳道访问那条修改的代码。而其他同学访问稳定的test环境。

image.png

多泳道建设

多泳道长什么样子

image.png

如上图所示,测试环境作为稳定泳道来运作,这样就不会由于开发代码一直卡流程。如果我们只是特定的服务做更新的话,其他服务都是稳定的,我们只需要在特定节点路由到那个需要测试的服务,这样提高测试环境的稳定性。

怎么建设?


完整步骤

  1. 泳道创建:工单实现不同泳道的快速创建,比如说有个需求A,同一时间有个需求B,可以通过工单快速将dev1、dev2 开放平台两个版本跑起来 (稳定泳道:权限,经常变动泳道:开放平台..)
  2. 流量打标:网关进行改造,在工单创建泳道的时候顺便有个域名,dev1.com,dev2.com,同时指向稳定网关test环境,网关对流量进行打标tag。负载到对应环境的服务。
  3. RPC层负载:由于我们链路非常短,看不出这一层的负载,网关在调用权限模块之后,再调用开放平台服务,具体到哪个服务,这个也算rpc层负载。
  4. 数据隔离: dev1.com -> dev1 pod - >dev1数据库
为啥需要通过工单来创建?我们可以看下腾讯云方案,资源的自动化,弹性扩展。理想的话,我们也需要实现运维资源的自动化。

在二三点的时候,其实在上一篇文章讲过,大家感兴趣可以去看看~

数据隔离方面,可以做影子表、影子库。或者我们物理隔离统一5个环境,对应5个mysql实例。


测试流程

  1. 现在需求A、需求B来了,我们拉了两个分支,现在都提测了
  2. 创建工单,新建dev1、dev2环境,它会生成对应的域名指向test网关,然后我们通过全链路灰度,实现test网关通过域名维度,指向对应的服务
  3. 测试同事通过不同域名,来验证不同的逻辑,然后去不同的数据库验证数据准确性。
  4. 测试通过之后,将分支合并到test,构建test环境
  5. 泳道删除,资源回收

多泳道 VS 多物理环境

我们来对比下两个方案的优缺点,这样会有直观的比较。

形式 优点 缺点
多物理环境 物理隔离,操作快捷 资源浪费,测试环境会有不稳定的开发代码
多泳道 逻辑隔离,工单快速创建泳道,减少资源消耗 需要对中间件进行改造,比如说dev1、dev2 redis、mq、数据库都需要隔离

相对复杂一点的多泳道模型

image.png

参考 blog

本文借鉴以下文章:

相关文章
|
12天前
|
新零售 供应链 搜索推荐
一条线公排互助系统开发|方案设计|功能板块
智能零售是一种基于物联网技术、人工智能技术等高科技手段的零售模式
|
数据采集 存储 供应链
【系列连载1】治理项目启动前的必答三问
近年来,越来越多的企业在考虑或正在启动数据治理的项目。作为在该领域从业多年的人士,也常会被咨询:数据治理不是很多年前就有的概念么?为什么忽然很多企业都在提及?是不是新瓶装旧酒?和数据中台之间是什么关系?本文中,小编将通过三个核心问题,帮助大家清晰上述疑问,更重要的是,这三个问题,也是一家企业启动数据治理项目前必须要想清楚的三个问题。
【系列连载1】治理项目启动前的必答三问
|
数据采集 存储 安全
阿里云数据治理系列(一):治理项目启动前的必答三问
近一年以来,越来越多的企业在考虑或正在启动数据治理的项目。作为在该领域从业多年的人士,也常会被咨询:数据治理不是很多年前就有的概念么?为什么忽然很多企业都在提及?是不是新瓶装旧酒?和数据中台之间是什么关系?本文中,小编将通过三个核心问题,帮助大家清晰上述疑问,更重要的是,这三个问题,也是一家企业启动数据治理项目前必须要想清楚的三个问题。
阿里云数据治理系列(一):治理项目启动前的必答三问
|
开发者
开发者公益项目丨岂曰无衣,与子同袍 —— 援助海外华人计划
开发者公益项目丨岂曰无衣,与子同袍 —— 援助海外华人计划
开发者公益项目丨岂曰无衣,与子同袍 —— 援助海外华人计划
|
固态存储 Java 区块链
浅谈技术管理之日式管理的殊途同归
《周易》说,形而上者谓之道,形而下者谓之器;降龙十八掌里有履霜坚冰,夕惕若厉等招数;坤卦爻辞中也有含章可贞,或从王事等管理和做人规则。 看完上面几句,大家可能会想,不是说日式管理嘛,怎么说起中国传统哲学了?其实无论是西方的还是日式的管理方法与经验,其理论来源都是中国的哲学思想,无论是德鲁克的任务、责任、实践的管理理论,波特的差异竞争论,哈默尔的核心竞争力,还是明茨伯格的战略和经理人角色,科特的领导与变革,归根到底这只不过是一些管理的方法和手段而已,这些手段和方法,在浩淼的中国传统哲学中都能找到与它们几乎一致的理论,可以说中国的哲学思想是世界管理学的源头活水。 说到日式管理,很多人也都耳熟能
152 0
|
应用服务中间件 HSF 调度
阿里毕玄:系统设计之达成目标的核心问题
上两篇讲了系统设计的两个问题,一是为什么要建设或重构系统,确保系统设计的出发点的正确性,二是根据建设系统的目的形成可衡量的目标,确保最终产出的系统,这篇讲如果要达成系统设计的可衡量的目标,到底面临了一些什么核心问题,只有明白了面临什么核心问题,才能更加明确的进行系统设计来解决这些问题。
2014 0
|
BI 项目管理
艾伟也谈项目管理,五大绝招 消除项目小组与用户的矛盾
  BI项目实施过程中,会导致用户现有工作量的增加,会对用户现有工作进行重新分配,总之会影响用户的即得利益。在这种情况下,项目小组与用户之间矛盾的增加。虽然说BI系统主要是企业管理者在使用但是这个系统的基石基础数据,则是一线用户所提供的。
932 0
进阶指导,9大技巧让你进入高段位协同管理
协同办公软件人人都在用,为什么有人用它实现了高效管理,有人却只能打卡考勤?差别就在这。
|
新零售 存储 架构师
阿里云王牌架构师杨曦:N多环境N多应用个性配置管理如何从混乱到简单?
众多项目研发过程中为了调试观察应用运行时表现,修改常量配置的场景下往往需要频繁地对应用代码及配置项做打包发布进行应用版本更新甚至回滚代码。基于该场景,任何的应用配置项变更都需要将整个应用重新打包发布,整个过程非常繁琐,且容易出错。
3901 0
|
监控 测试技术 项目管理
一张图看懂项目管理
项目管理流程是一个繁杂的过程,每个阶段需要涉及到不同人员、资源的协调配合。
1561 0