当前位置:网站首页>转转测试环境的标签域名实践
转转测试环境的标签域名实践
2022-08-04 10:05:00 【InfoQ】
一、问题背景
公司现在访问测试环境方式,使用线上域名,本地配置host,通过host控制访问不同的环境。这种使用方式,存在诸多问题,比如:
- 忘修改host,或浏览器存在socket缓存,host没生效。会访问更改线上数据,风险大。
- 需要频繁配置修改host,产品,运营,测试在测试环境作业中效率较低。
- 与第三方联调时,每次更换测试环境,都需要运维同学更改nginx配置。
二、测试环境演进介绍
2.1 固定数量测试环境

交易服务多需求并行时,交易分支1和分支2,所依赖的服务需要在环境都部署一份
- 优点:流量隔离。
- 缺点:如果我们有500+的实例,如果靠简单的拉起实例,那么一个环境就需要拉起500个实例,5套环境就有2500+实例,机器资源浪费严重。所以我们需要让应用能在不同的环境复用。
2.2 多环境复用:动态环境 + 稳定环境

多需求并行时,只需要在动态环境,分别部署新需求分支
- 优点:既保证流量隔离,也能节约机器成本。
- 当前的缺点:联调,测试,产品验收时需要手动配置host,访问动态环境。
三、解决方案
改造使用到的技术点:DNS域名泛解析
3.1 原理
所谓“域名泛解析”是指:利用通配符* (星号)来做次级域名以实现所有的次级域名均指向同一IP地址。
3.2 泛解析的使用场景
- 让域名支持无限的子域名(这也是泛域名解析最大的用途)。
- 防止用户错误输入导致的网站不能访问的问题(对于大型网站,不太适用,一般用URL重定向,将网页重定向到错误页面)。
- 可以让直接输入网址登陆网站的用户输入简洁的网址即可访问网站。
3.3 DNS泛解析配置
转转DNS平台:

四、 标签域名在转转后台系统的落地
一个公司系统多年迭代,当引入新的技术点,前端,后端,运维,架构,工程效率部等整条链路上各自负责的服务,或多或少都需要进行个性化改造,才能达到预期目标。下文是转转中台OMS后台管理系统使用标签域名的一些改造点,仅供参考!
4.1 OMS协作平台标签域名改造点
- DNS配置域名泛解析和ngx_lua做流量分组(运维部负责)。
- sso服务扫码登录改造(架构部负责)。
- CI部署前端服务时,替换静态资源域名(工程效率部负责)。
- 多域名合一:前端和后端服务域名分别使用不同域名,废弃后端域名,只保留SCP前端域名。在nginx配置根据uri规则路由(后端&前端负责)。
- 前端服务获取浏览器输入host,动态拼接url(前端负责)。
4.2 请求流程图
所谓一图胜千言,整个请求流程如下面这张图所描述的场景。

五、标签域名使用方式和效果
5.1 OMS协作平台的使用方式
1. 标签域名访问
2.1.动态环境
CI平台申请服务标签tag
访问方式:https://oms-tag.zhuantest.com
2.3.线上环境:
访问方式:https://oms.zhuanzhuan.com
5.1 访问效果

如上图所示,无需繁琐的配置host,通过域名访问即可。
高向阳,中台履约OMS研发负责人
转转研发中心及业界小伙伴们的技术学习交流平台,定期分享一线的实战经验及业界前沿的技术话题。
关注公众号「转转技术」(综合性)、「大转转FE」(专注于FE)、「转转QA」(专注于QA),更多干货实践,欢迎交流分享~
边栏推荐
- 广东对小鹏/广汽丰田开展网络安全检查
- Could you please talk about how the website is accessed?[Interview questions in the web field]
- HCIP 第十八天
- HTB-Nibbles
- 高级转录组分析和R数据可视化火热报名中(2022.10)
- 江西发布紧急通知:全面开展涉校涉生安全隐患大排查
- JS工厂模式_工厂模式进行封装
- leetcode二叉树系列(一)
- 视频加密怎么播放_win播放器加密视频
- Cloud function to achieve automatic website check-in configuration details [Web function/Nodejs/cookie]
猜你喜欢
随机推荐
暴力破解ssh/rdp/mysql/smb服务
MySQL binlog都有哪些模式?
MySQL核心SQL:结构化查询语句SQL、库操作、表操作、CRUD
什么是元宇宙?
leetcode二叉树系列(二叉搜索树篇)
[论文阅读] Unpaired Image-to-Image Translation Using Adversarial Consistency Loss
为企业数字化转型提供服务_数字赋能企业转型
EastWave应用:自动计算光子晶体透反率
Mysql应用日志时间与系统时间相差八小时
冰蝎工具开发实现动态二进制加密WebShell
HCIP 交换实验
LVS-DR集群部署
VSCode学习资料
架构设计杂谈
LeetCode 54. 螺旋矩阵 蛇形矩阵式输出字符串
Multimedia and Internet of Things technology make the version "live" 129 vinyl records "Centennial Voice"
JS工厂模式_工厂模式进行封装
Shell编程的条件语句
无代码平台数字入门教程
TCP协议 - 三次握手 - 四次挥手-内核参数调优









