3种发布策略 | 基于 API 的基础架构

0*U9VWW5UCtxTlPtrc.png

部署与发布

在决定发布策略之前,我们必须区分两个重要概念:部署和发布。部署涉及将功能完全推进生产环境,因为您现在在系统中运行了一个进程。尽管已经部署,但新功能并未通过与生产系统的交互活跃或执行。

有各种方法可以实现此分离。发布涉及以受控的方式激活新功能,从而允许您控制引入新功能的风险。Thoughtworks Technology Radar 对部署和发布之间的区别有很好的解释:

对于许多组织来说,实施持续交付仍然是一个挑战,突出使用诸如将部署与发布分离等有用技术仍然很重要。我们建议在指涉将应用程序组件或基础架构的更改部署时严格使用术语“部署”。应该在功能更改对最终用户产生业务影响时使用术语“发布”。通过使用功能切换和静默发布等技术,我们可以在不发布功能的情况下更频繁地部署更改到生产系统。更频繁的部署减少了与更改相关的风险,同时业务利益相关者保留了对何时向最终用户发布功能的控制。

发布策略

一旦您充分区分了部署和发布,现在可以考虑控制功能逐步发布的机制。选择发布策略时,重要的是要选择一种允许您在生产环境中降低风险的策略。通过对小部分流量进行测试或实验,并验证结果来降低风险。当结果成功时,就会触发对所有流量的发布。某些策略更适合特定情况,并需要不同程度的额外服务和基础架构。让我们探讨一些在基于 API 的基础架构中受欢迎的选项。

金丝雀发布

3种发布策略 | 基于 API 的基础架构
1*HamWDCQKXS5LZmjOCjy8sw.png

金丝雀发布引入了软件的新版本,并将少量流量引导到金丝雀。流量在旧服务和新服务之间的分配概念已经建立,这将取决于目标平台。

在服务网格和 API 网关中,流量转移使得可以逐渐将流量从目标服务的一个版本转移到另一个版本。例如,可以将新版本 v1.1 的服务部署在原始版本 v1.0 的旁边。流量转移使您可以通过首先只将一小部分用户流量(例如 1%)路由到 v1.1,然后随着时间的推移将所有流量转移到新服务,对新服务进行金丝雀测试或发布。

这使您可以监视新服务,并查找技术问题,例如增加的延迟或错误率,还可以查找期望的业务影响,例如关键性能指标(如客户转化率或平均购物结账价值)的增加。流量分割使您能够通过在多个服务版本之间分配流向目标服务的流量来运行 A/B 测试或多变量测试。

流量镜像

1*iyQ_QO6esr_Ktj5qvIBszg.png

除了使用流量分割来运行实验之外,您还可以使用流量镜像来复制或复制流量,并将其发送到一个或一系列附加位置。通常情况下,使用流量镜像时,复制的请求的结果不会返回给调用服务或最终用户。相反,将对生成的结果进行越带评估,例如比较重构和现有服务生成的结果,或者观察一系列操作属性,以观察新服务版本处理请求时的响应延迟或所需 CPU。

使用流量镜像使您能够进行“暗发布”或“暗发行”服务,其中用户对新发布保持不知情,但您可以在内部观察所需的效果。

蓝绿部署

1*WWwA1bakgxSoOS9AieQXSg.png

蓝绿部署通常在使用路由器、网关或负载均衡器的架构中实现,在这些架构的后面有一个完整的蓝环境和一个绿环境。当前的蓝环境表示当前的生产环境,绿环境表示堆栈的下一个版本。在切换到实时流量之前,会对绿环境进行检查,并在上线时将流量从蓝环境切换到绿环境。蓝环境现在处于“关闭”状态,但如果发现问题,回滚会很快。下一个更改将从绿色转到蓝色,从第一个发布开始进行交替。

由于其简单性,蓝绿部署效果很好,并且对于耦合的服务来说是更好的部署选项之一。对于持续存在的服务,管理起来也更容易,尽管在回滚事件中仍需要谨慎。它还需要双倍数量的资源来能够并行运行当前活动环境的冷备份。

原创文章,作者:小技术君,如若转载,请注明出处:https://www.sudun.com/ask/33931.html

(0)
小技术君's avatar小技术君
上一篇 2024年4月21日 下午5:07
下一篇 2024年4月21日 下午5:09

相关推荐

  • 高防CDN如何阻止网络攻击

    高防CDN(Content Delivery Network)通过多种方式提供DDoS(分布式拒绝服务)防护,帮助抵御各种形式的网络攻击。这些方法包括: 通过这些综合措施,高防CD…

    CDN资讯 2024年2月4日
    0
  • 代理设计模式

    在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去…

    CDN资讯 2024年4月16日
    0
  • Redis的高性能之谜

    介绍Redis通常用作缓存。当一致性要求不高时,它也可以用作存储。此外,Redis还提供消息订阅、事务、索引等功能。我们还可以使用集群功能构建分布式存储服务,并实现非强一致性的分布…

    2024年4月16日
    0
  • cdn边缘计算有哪些公司,cdn边缘计算是什么

    在当今数字化时代,CDN边缘计算正成为互联网行业的焦点。本文将探讨CDN边缘计算的相关公司,以及它们在该领域的角色和贡献。作为SEO工程师,我深知网站排名对于企业至关重要,因此我将…

    2024年5月11日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注