简介:帮助应用程序发布版本更加精致,并改善发布过程中的稳定性。服务转移求请求链接以控制流量,有效地确保具有许多亲密关系的服务的平稳释放,并开发服务和开发,并促进业务的快速发展。
作者:
十个MIKING |微型服务引擎MSE研发工程师
Yang Shao |微服务引擎MSE研发工程师
本文是从“微服务治理技术的白皮书”中选择的。白皮书已经准备了半年多,只有379页。希望通过这本书,在基于云的结构的有效解决方案下,一点点的微服务治理问题可以发挥一点作用。电子版本的免费下载地址:https://developer.aliyun.com/ebook/7565
首先,让我们看一下如何与单侧体系结构中单方面体系结构中的新版本对应。
由于购物车服务是Yingyu的一部分,因此需要对新版本进行编译,打包和部署到整个Ying Ying???????。服务级别的发布已成为该级别上发布的问题。我们需要相应的新版本??不是实施有效发布策略的服务。
过去,该行业已经有一个常规的成熟服务发布案例,例如蓝绿色发布和灰色发行版。蓝色和绿色版本需要在新版本的服务中部署。机器规格和数量的新版本被维持为旧版本,相当于两组完全相同的部署环境。version在外部提供服务,并且新版本被用作热量。当服务升级时,我们只需要将所有流量切换到新版本,并且旧版本被用作Armal准备。我们的示例如下,蓝色绿色的示意图如下,并且可以根据流量来完成流量切换基于第四层代理。
在蓝色和绿色的发行中,由于流量的整体切换,必须根据原始服务所占用的机器的大小来成为克隆 - konic环境的新版本,这相当于原始机器需要原始的资源。灰度发布的核思想是根据请求内容或请求流量示例转发新版本的在线流量。通过灰度验证后,逐渐调整了新版本的请求流量。发布pupae。示例如下,灰色发布的示意图如下。基于内容或??的流量控制需要七层代理的微服务。
其中,流量路由是基于内容的基于灰色的??,而流量路由包含对Ying V2版本的请求中的Head Stag =灰色;流量转移是一个基于示例的ash,在线流量通过重新输入?。该阶段的蓝色 - 绿色释放,灰度是根据机器资源和交通控制的成本而发布的。但是,缺点是释放周期不堪重负,操作和维护基础架构的要求更加吻合。
在分布式微服务体系结构中,Yingyu中的Split -OUT服务是唯一的部署,运输和迭代。当启动新版本的单个服务时,我们不再需要与整体柱子版本相对应。只需注意每个微型服务机构的发行过程,如下:
为了验证新版本的服务推车,通过某种选择的路由,可以将流量用于从整个p的灰色版本到购物车,这属于Micro -Service领域的交通治理问题Chandance.changzhang的治理策略包括基于供摊贩和消费者的?。
此外,这些治理策略可以与the the Inally Service Level发布的蓝色绿色出版物和灰色发布案例结合使用。
继续考虑服务购物车在微服务系统中发布的场景。如果服务顺序目前还需要发布新版本,因为此新功能涉及服务推车和订单的共同更改,则必须在灰度verificationcan同时通过灰色版本同时进行灰度流动时进行验证服务推车和订单。如下所示:
根据上面一节提出的两种治理策略,我们需要配置订单顺序的治理规则,以确保可用的服务购物车的灰色版本可用。这种方法似乎与正常的操作逻辑一致,但是在实际的业务情况下,业务微服务的规模和数量远远超出了我们的示例。它也可能涉及多个微服务的更改,并且业务服务的依赖性复杂,频繁的服务发布和多个版本的版本服务和开发导致交通治理的扩大。不利因素。
关于上述问题,开发人员提出了灰色 - 末端末端 - 端的灰分释放案例,即整个链接的灰色,这是基于实际业务场景和生产的实际经验全链接灰色治理策略主要集中在整个调整链上。它不在乎链接上的哪些微服务。流量控制视觉?从服务传输的服务传输链接从服务传递到传递到整个后端服务的多重流量隔离环境有效地确保了具有多个亲密关系并开发多个服务的服务的平稳和安全的服务开发并进入业务快速发展。
如何在实际业务场景中快速地链接完整的链接?之前,基于物理环境隔离和逻辑环境隔离,有两种主要解决方案。
物理环境隔离
顾名思义,物理环境隔离通过增加机器的?物来建立真实的流量隔离。
这种情况需要环境,需要灰色服务来构建??这这这和资源垄断,并部署服务的灰色版本。与正式环境的隔离以及正式环境中的其他服务访问为需要灰度的服务,因此您需要在灰色环境中部署这些在线服务,以便可以正常重新发布整个木偶链接。此外,其他一些依赖的中间件组件,例如注册的中间依赖性中间零件,也需要在灰色环境中部署,以确保确保微服务之间的杂音,并且获得的节点IP地址仅是当前的野鸡环境。
这种情况就像建立了企业的测试和前开发环境,对于在线灰色释放引流的场景不足以灵活。此外,在微服务体系结构中,存在多种版本的微服务是司空见惯的。有必要在这些业务场景中使用pile桩机的样式来维持多组灰色环境。如果您有太多板球,它将导致运营,维护和机器成本,并且成本和成本将超过收入贫穷,可以接受。
逻辑环境隔离
此外,??的情况是建立逻辑环境隔离。我们只需要部署服务的灰色版本即可。当流量在划船链接上循环时,通过穿过木偶,各种中间件和各种微服务的灰色来识别灰色。DYNAGICFLOW,并动态转发相应服务的灰色版本。如下所示:
上图可以很好地显示该方案的效果。我们使用不同的颜色代表不同版本的灰色流量流量。可以看出,微服务和微服务本身都需要识别流量并根据治理规则规则做出动态决策。当服务版本发生变化时,此呼叫链接的转发也将在实时时间内变化。该方案由机器构建的灰烬环境不仅可以节省大量的机器成本,操作和维护人力,而且还可以帮助开发人员实时对在线流量进行完整的完整链接控制。
那么如何灰色?通过讨论,我们需要解决以下问题:
1.链接上的每个组件和服务都可以根据请求流量特征输入动态路由。
2.您需要在服务下的所有节点中输入组以区分版本。
3.需要在流程上输入灰度徽标和版本徽标。
4.您需要识别不同版本的灰色流。
接下来,您将介绍您需要在上述问题中获得的技术。
标签
标签路由根据标签名称和服务下所有节点的标签值进入组,以便服务节点信息的服务消费者端可以按需访问服务组,即??。服务消费者可以启用有关服务提供商节点的任何标签信息。根据所选标签的实际含义,消费者方可以将标签路由置于更多业务方案中。
节点标签
因此,如何在服务节点上添加不同的标签?在热门Yunyuan?今天的技术上,大多数企业都在积极进入翻新装修旅程。这是我以基于容器的基于容器为例的示例,以介绍如何介绍如何标记标签在两种情况下,在两种情况下,在两种情况下,在两种情况下,在两种情况下,在两种情况下,服务工作负载节点在NACOS注册的两种情况下。
在业务系统中,作为Kubernetes服务的服务发现,服务提供商可以通过向Apiserver提交服务资源来完成服务敞口,并聆听与服务资源相关的端点资源,以从端点资源,,,,,,,,地点资源获取相关的业务POD资源。阅读?标签数据并用作节点的元数据信息。因此,我们只需要在资源部署中的POD模板中的节点中添加标签即可。
在使NACOS Discovery作为服务的业务系统中,?是为了基于其微服务框架确定标签类型。如果Java应该使Spring Cloud Cloud Micro -Service开发框架使我们可以向业务添加相应的环境变量容器以完成标签添加的操作。如果我们想将灰色标签的版本添加到节点,然后添加`spring.cloud.nacos.discovery.metadata.version.version = grey` =灰色',以便在注册时进行注册时到NACOS节点的节点,将标记框架。=灰色。
染色
如何在请求链接上的每个组件上识别不同的灰色流量?答案是染色流量,在请求流量中添加不同的灰度标志以区分它。我们可以在请求源上染色流量。当前端启动请求时,流量会根据家庭信息或平台信息的不同数据标记。如果完成了前端,我们还可以在请求中动态添加流量标识,以匹配在该请求中的特定路由规则MicroService.中,当流量通过链接中的灰色节点流动时,如果请求信息不包含灰度标识,则有必要为其染色。接下来,可以在随后的流通过程中优先考虑该服务的灰色版本。
分布式链接跟踪
还有一个非常重要的问题。如何确保可以在链接中直接传递灰度徽标?如果请求源是染色的,那么当请求通过甘甘时,关物作为代理人将请求转发给????服务。,除了开发人员的开发人员在鸟武士的路由策略中的开发人员外,请求内容修改策略。业务代码的逻辑。那么,如何将灰色徽标添加到这个新的调整请求中。
从单个体系结构到分布式微服务体系结构的演变,服务之间的服务已从相同的线程变为服务,从本地过程到远程流程,远程服务可以以多个副本的形式以形式形式多个副本。部署,通过p通过p通过的节点是不可预测和不确定的,每次跳跃的音调可能是由音调失败或服务故障引起的。分配的链接跟踪技术以详细的记录,以详细的记录链接在?分布式系统中的链接,核思想是通过整个局的跟踪和每个酒吧的缝隙,以及耗时的,跟踪需要整个链接才能通过。
在分布式链接跟踪想法的帮助下,我们还可以通过一些定义信息,作为灰度徽标。行业的分布式链接跟踪产品均由链接定义的数据持有。数据处理过程如下图所示:
逻辑环境隔离
动首先,您需要保持动态路由功能。对于弹簧云和Dubbo开发框架,您可以实现?流量的过滤器定义,以完成过滤器中的流量识别和标签路由。在同一时间,有必要使用分布式链接跟踪技术来完成交通徽标链接调解和流染色。此外,有必要吸引中国的流量控制平台,而每个业务线的开发商的经销商定义了完整的链接灰度规则??。如下所示:
一般来说,实现完整链接的灰色的能力是成本或技术复杂性更加繁重的能力,而后来的维护和扩张成本是成本??,但确实有所提高更精致的改进。发行过程中的应用稳定性。
原始链接
本文是阿里巴巴云的原始内容,未经许可就无法重印。
原始:https://juejin.cn/post/7099700728473747487