在阿里,我们如何管理测试环境( 十 )
具体来说 , 在阿里的交付流程上 , 包含两种特殊类型的测试环境:“公共基础环境”和“特性环境” , 它们形成了具有阿里特色的测试环境使用方法 。 公共基础环境是一个全套的服务运行环境 , 它通常运行一个相对稳定的服务版本 , 也有些团队将始终部署各服务的最新版本的低级别环境(称为“日常环境”)作为公共基础环境 。
特性环境是这套方法中最有意思的地方 , 它是虚拟的环境 。 从表面上看 , 每个特性环境都是一套独立完整的测试环境 , 由一系列服务组成集群 , 而实际上 , 除了个别当前使用者想要测试的服务 , 其余服务都是通过路由系统和消息中间件虚拟出来的 , 指向公共基础环境的相应服务 。 由于在阿里通常的开发流程中 , 开发任务需要经过特性分支、发布分支和诸多相关环节最后发布上线 , 大多数环境都从发布分支部署 , 唯独这种开发者自用的虚拟环境部署来自代码特性分支的版本 , 故可称为“特性环境”(阿里内部叫“项目环境”) 。
举个具体例子 , 某交易系统的完整部署需要由鉴权服务、交易服务、订单服务、结算服务等十几种小系统以及相应的数据库、缓存池、消息中间件等组成 , 那么它的公共基础环境就是这样一套具备所有服务和周边组件的完整环境 。 假设此时有两套特性环境在运行 , 一套只启动了交易服务 , 另一套启动了交易服务、订单服务和结算服务 。 对于第一套特性环境的使用者而言 , 虽然除交易服务外的所有服务实际上都由公共基础环境代理 , 但在使用时就像是自己独占一整套完整环境:可以随意部署和更新环境中交易服务的版本 , 并对它进行调试 , 不用担心会影响其他用户 。 对于第二套特性环境的使用者 , 则可以对部署在该环境中的三个服务进行联调和验证 , 倘若在场景中使用到了鉴权服务 , 则由公共基础环境的鉴权服务来响应 。
推荐阅读
- 小鱼人|如何在新赛季稳定上分?善于抓失误的小鱼人,值得认真练上一波
- 阴阳师|阴阳师SR川猿强度如何 是否值得抽卡 改变斗技环境 大佬的新玩具
- 手机游戏|梦幻西游手游:活力如何换金币 一切都已给出 就看你的选择
- 华佗|三国杀:两位\奶爸\,朱治与华佗比,强度如何呢?
- 亲朋上分|《亲朋上分》266391亲朋下分亲朋上下分永劫无间崔三娘技能介绍 崔三娘如何获得更多技能
- lpl|不着急“武统”,可不是因为不敢:恰恰证明我们是更强势的一方
- s6|金铲铲之战:S6双城传说如何才能快速上手?基础知识很关键
- |冰雪传奇:平民玩家四转后如何打金
- 电子竞技|世界赛结束了,细说那些年我们追过的电竞小说
- 穿越火线|CF:传说武器再度上新,那王者、炫金该如何发展?