我的个人网站:等不见天亮等时光
灰度发布:在进行内部版本发布时希望有一部分用户能体验新的功能进行打标签的方式进行分区访问;基于SpringCloudGateWay的灰度发布实践
在gateway中进行服务路由是通过Ribbon进行负载的,SpringCloudGateWay使用到的路由策略有两种分别是RandomLoadBalancer和RoundRobinLoadBalancer两个类进行
转载
2024-03-04 21:20:58
85阅读
通过Acutator和SpringCloudConfig完成"灰度部署"——动态刷新网关路由配置先声明下,我这个可能是冒牌的灰度部署,技术有限,纯粹个人笔记分享。前段时间接到了头头给我的一个任务,让我研究下“灰度部署”,说是保证一个服务要升级的时候,不能停掉服务。操作步骤是,比如老版本的服务端口号是9002,新版本的服务是9003。在运行9002的时候,启动9003,修改网关路由配置9002→90
转载
2024-03-20 15:31:19
78阅读
什么是灰度发布?灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。本文以springcloud gateway + n
转载
2024-02-22 18:23:25
145阅读
目录背景灰度路由设计描述Springcloud gateway设计描述Httpclient 设计描述实践Springcloud gateway实现拓展方式一拓展方式二Httpclient实现背景灰度路由设计描述nacos中服务的元数据存储灰度信息,HTTP调用微服务接口时header头中添加灰度参数,两个灰度信息进行匹配,匹配成功说明这次请求可以走当前服务实例,通过透传header头信息实现整个链
转载
2024-06-03 10:18:55
108阅读
1 | 业务场景说明要实现的业务场景:可以根据单个用户id或者批量用户id,判断是否需要灰度该用户/批量用户可以根据请求头字段(可动态设定的任意kv),判断是否需要走灰度服务2 | 具体实现方案这里采用 SpringCloudGateway(SCG) + Nacos + GitlabRunner 来实现整个自动化的灰度发布。SCG:统一的流量入口 + 正常/灰度服务选择分发逻辑
转载
2024-05-29 06:01:20
224阅读
整理并实践nacos+gateway灰度发布 springcloudalibaba+nacos+gateway灰度发布整理并实践nacos+gateway灰度发布前言1.gateway网关灰度逻辑==1.GrayReactiveLoadBalancerClientFilter====2.GrayRoundRobinLoadBalancer====3.ServerGrayProperty====4.
转载
2024-07-01 07:26:07
55阅读
什么是灰度发布?灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。本文以springcloud gateway + n
转载
2024-06-17 12:12:25
24阅读
一.背景 在上文中,灰度发布遇到了些问题,例如: 1.多个终端,例如移动端(IOS和Android),PC端,Web端对应的版本号不同,但又需要访问同一个后台微服务,网关灰度路由怎么配置 2.动态修改Nacos配置中心的元数据信息,如何同步到Nacos注册中心对应服务的列表中 3.管理后台业务调用其它服务灰度实例时的路由规则 4.SpringCloudGateway基于请求头
一、灰度发布1.1 简介灰度发布,是指黑与白之间,能够平滑过渡的一种发布方式。 通过不同策略对用户进行分流,不同的用户组使用不同的应用版本。1.2 优缺点 优点 互联网服务变动频繁,发布周期短。速度和质量总是难以双全。灰度发布有以下优点: (1)降低发布风险,减少影响范围 (2)可以灰度测试账号,降低测试依赖,减少自测的数据构造成本 (3)方便回滚 缺点 (1)开发、测试和部署的成本较高 (2)数
在本篇文章中我们在SpringCloud环境下通过使用Seata来模拟用户购买商品时由于用户余额不足导致本次订单提交失败,来验证下在MySQL数据库内事务是否会回滚。本章文章只涉及所需要测试的服务列表以及Seata配置部分。用户提交订单购买商品大致分为以下几个步骤:减少库存扣除金额提交订单1. 准备环境Seata Server如果对Seata Server部署方式还不了解,请访问:http://b
这篇文章来源于小伙伴提出的一个问题:如何解决多环境统一注册中心服务实例乱窜?
怎么理解呢?
假设现在开发环境的AccountService已经在Nacos中注册了,现在小张需要对它进行修改升级,本地启动AccountService后也注册到了Nacos,但是在调试的时候请求通过网关经常直接跳转到开发环境,这样的话小张就没办法安心debug了。
转载
2024-03-18 00:08:58
38阅读
gateway简介和灰度发布实现方案gateway介绍官方文档:https://docs.spring.io/spring-cloud-gateway/docs/2.2.8.RELEASE/reference/html/#gateway-starter网关请求处理过程 客户端向Spring Cloud Gateway发出请求。如果网关处理程序映射确定请求与路由匹配,则将其发送到网关Web处理程序。
转载
2024-05-08 12:56:45
757阅读
蓝绿发布、金丝雀发布(灰度发布)、AB测试首先,了解下这几种发布方式的基础概念。目前常见的发布策略有蓝绿发布、金丝雀发布(灰度发布)、AB测试这几种,在国内的开发者中,对这几个概念有独立的理解。蓝绿发布通常被大家成为热部署;金丝雀发布在国内的名头完全被他的变种发布方式盖过了,主要是灰度发布与AB测试,下面来详细的为大家解释一下他们之间的异同。蓝绿发布在发布的过程中用户无感知
转载
2024-08-22 13:54:24
93阅读
文章目录前言优雅下线常见的下线方式优雅的下线方式灰度发布蓝绿部署滚动部署金丝雀部署 前言在生产环境中,如何保证在服务升级的时候,不影响用户的体验,这个是一个非常重要的问题。如果在我们升级服务的时候,会造成一段时间内的服务不可用,这就是不够优雅的。那什么是优雅的呢?主要就是指在服务升级的时候,不中断整个服务,让用户无感知,进而不会影响用户的体验,这就是优雅的。实际上,优雅下线是目标,而不是手段,它
转载
2024-09-15 14:25:56
149阅读
Spring Cloud灰度发布方案----自定义路由规则一、简介1.1 不停机部署服务策略介绍蓝绿部署 蓝绿部署的模型中包含两个集群A和B 1、在没有上线的正常情况下,集群A和集群B的代码版本是一致的,并且同时对外提供服务。 2、在系统升级的时候下,我们首先把一个集群(比如集群A)从负载列表中摘除,进行新版本的部署。集群B仍然继续提供服务。 3、当集群A升级完毕,我们把负载均衡重新指向集群A,再
转载
2024-07-15 18:14:11
23阅读
前言: 当今,随着web2.0移动互联网的兴起,用户量的暴涨,各类网站应用的、各种APP规模也实现跨越式增长,随之而来的是各种高并发,海量数据处理的头疼问题,此时的系统架构为了使用时代,也被迫推陈出新。从互联网早期到现在,系统架构大体经历了下面几个过程:单体应用架构--------垂直应用架构------
转载
2024-04-09 18:25:25
31阅读
文章目录 前言 优雅下线 常见的下线方式 优雅的下线方式 灰度发布不可用,这就是不够优雅的。那什么是优雅的呢?主要就是指在服务升级的时候,不中断整个服务,让用户无感知
原创
2023-10-12 10:47:16
87阅读
什么是灰度发布?灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。本文以springcloud gateway + n
转载
2024-10-26 09:01:14
371阅读
如何使用 Spring Cloud 2020 中重磅推荐的负载均衡器 Spring Cloud LoadBalancer (下文简称 SCL),如何扩展负载均衡策略? 你将从本文中获取到答案快速上手 SCL如果项目中想使用 SCL,则仅需要添加如下 maven 依赖即可<dependency>
<groupId>org.springframework.cloud</
转载
2021-01-16 17:03:02
284阅读
2评论
本文基于SpringCloud-Dalston.SR5对于一个负载均衡器,就是以用户请求为输入,请求响应为输出的代理模块。 这个模块基本上就是包括一个服务实例列表,根据请求还有负载均衡规则选择一个合适的实例来执行请求并返回响应。 这个服务实例列表,一般包含每个实例基本信息,然后还有,这个实例相关的负载均衡统计信息(例如请求失败多少次,有多少正在处理的请求等等,用于实例过滤和负载均衡规则选择Serv