Zadig 面向开发者的自测联调子环境技术方案详解

Zadig 是一个开源云原生软件交付平台,提供自测模式,允许开发者在低成本的子环境中进行开发和联调。通过基准环境和子环境的组合,利用灰度标控制请求在不同环境中流转,降低了环境管理的复杂度和成本。该模式依赖于Istio作为ServiceMesh实现动态路由和灰度标传递。
摘要由CSDN通过智能技术生成

Zadig 作为一款先进的开源云原生软件交付平台,为开发者提供云原生运行环境,支持开发者本地联调、微服务并行构建和部署、集成测试等。

环境管理在日常的研发过程中基础问题,开发自测、联调均需在环境中进行。Zadig 针对环境管理,当前提供了如下能力:

  • 创建/销毁环境
  • 复制环境
  • 托管环境
  • 自测模式(自 v1.11.0 版本推出)

通过创建/销毁环境,开发者可以便利使用隔离的环境。

通过复制环境,开发者可以快速复制出存量环境,在隔离的相同环境中进行开发、联调。

通过托管环境,开发者可以将已经存在的 namespace 及该 namespace 中的应用纳入到 Zadig 中,通过 Zadig 的能力管理环境和应用。

通过自测模式,开发者之间可以共享同一套基准环境,低成本搭建子环境,在子环境中仅部署少量服务,并和基准服务交互实现开发、联调。

下述将针对 Zadig 的自测模式进行详细的技术解析,解密自测模式的技术实现:

基于拥有全量服务的基准环境,开发者可以低成本建立不同的子环境,在子环境中开发、变更目标服务,然后子环境与基准环境的服务交互来实现联调。

服务形态

在分析技术实现前,先通过如下简化的服务调用来回顾 Zadig 自测模式的使用体感:

在集群中搭建一套基准环境,该环境拥有完整的服务调用链。没有灰度标的请求会在基准环境中进行调用,调用链路为 A -> B -> C

当开发者需要进行开发、联调时,比如涉及到到 A / C 两个组件的变更,可以基于基准环境新建 dev1 子环境,该子环境中仅部署变更后的 A / C 组件,即 A' / C'。联调时请求加上灰度标,如在 http header 中设定 x-env=dev1 的灰度标,此时请求会按照 A' -> B -> C' 进行。

同理,当开发、联调时仅涉及到 B / C 两个组件的变更时,可以基于基准环境新建 dev2 子环境,该子环境仅部署变更后的 B / C 组件,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值