# 实现Docker Spring Cloud灰度发布
## 1. 流程
```mermaid
journey
    title Docker Spring Cloud灰度发布实现流程
    section 确定需求
        确定灰度发布目标:服务A版本升级到1.1
        确定目标用户比例:10%
    section 准备工作
        编写Dockerfile,            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-27 05:54:56
                            
                                38阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            今天,Pivotal 发布了 Pivotal Cloud Foundry(PCF)的升级,PCF是非常流行的用于构建、部署和运行Cloud-native应用的开源平台 Cloud Foundry 的商业版本。此次1.6版本的发布,给了开发者可以原生访问Spring云平台的Netflix OSS服务的子集、内置.Net应用的支持、对Docker镜像的内测支持、以及集成ALM工具到源码控制和持续集成。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-24 13:59:58
                            
                                47阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                 一、前言在大型分布式电商平台中,网关是重中之重,负责所有服务的分发和流量的控制等核心操作,而灰度发布又为企业的商业决策提供数据依据。那么如何通过网关来集成灰度发布呢?下面分步骤介绍,全程干货。     二、思路:首先有以下几种思路:1、网关层直接加入weight来进行一个权重的设置,随机的将用户流量打到新旧服            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-19 12:50:01
                            
                                220阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            首先了解一下概念:《蓝绿部署、红黑部署、AB测试、灰度发布、金丝雀发布、滚动发布的概念与区别》Nepxion Discovery:最近公司项目在做架构升级,升级为 Spring Cloud,我们希望能够做到服务的灰度发布,根据访问量逐渐切换用新版本替换老版本,并且能够做到代码零入侵的,毕竟每次发布要修改代码真的不是什么好的体验,而且容易引出其它的非代码级别的错误导致无法发布成功。但是 Sp            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-11-29 14:48:00
                            
                                463阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Roses基于Spring Boot 2和Spring Cloud Finchley.SR2,致力做整套分布式和服务化解决方案,Roses拥有高效率的开发体验,提供可靠消息最终一致性分布式事务解决方案,提供基于调用链的服务治理,提供可靠的服务异常定位方案(Log + Trace)等等,一个分布式框架不仅需要构建高效稳定的底层开发框架,更需要解决分布式带来的种种挑战。       Roses目前的版            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-02 08:14:56
                            
                                33阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             
前言
     在平时的业务开发过程中,后端服务与服务之间的调用往往通过fegin或者RestTemplate两种方式。但是我们在调用服务的时候往往只需要写服务名就可以做到路由到具体的服务,这其中的原理相比大家都知道是SpringCloud的ribbon组件帮我们做了负载均衡的功能。
灰度发布的核心就是路由,如果我们能够重写ribbon默认的负载均衡算法是不是就意味着我们能够控制服务的转发呢?            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-02 18:20:34
                            
                                1241阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本文将会使用 SpringCloud Gateway 网关组件配合 Nacos 实现灰度发布(金丝雀发布)            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                            精选
                                                        
                            2024-01-15 11:54:48
                            
                                772阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录前言优雅下线常见的下线方式优雅的下线方式灰度发布蓝绿部署滚动部署金丝雀部署在生产环境中,如何保证在服务升级的时候,不影响用户的体验,这个是一个非常重要的问题。如果在我们升级服务的时候,会造成一段时间内的服务不可用,这就是不够优雅的。那什么是优雅的呢?主要就是指在服务升级的时候,不中断整个服务,让用户无感知,进而不会影响用户的体验,这就是优雅的。实际上,优雅下线是目...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-05-02 09:16:43
                            
                                117阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            关于SpringCloud中灰度路由的使用1 灰度路由的简介2 灰度路由的使用案列基础服务父服务工具服务业务服务client服务consumer1服务consumer2服务provider1服务provider2服务验证测试1 启动本地nacos服务2 启动五个项目服务3 使用postman进行测试 在微服务中, 通常为了高可用, 同一个服务往往采用集群方式部署, 即同时存在几个相同的服务,而灰            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-28 09:10:27
                            
                                77阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、灰度发布解决线上什么问题?公司项目,每次发布上线都是在晚上时间段进行发布,这严重打乱了个人的作息,尤其是下单业务,每次上线,都是惊心胆颤的,为了消除这【心理】问题,在新项目时,需要把灰度发布引入进来,从而达到,妈妈再也不用担心我的作息了,想什么时候上线,看心情。灰度发布,个人理解,主要是采用一个切换流量的思路来上线或者用于其他场景(自行百度) 2、灰度发布归类网上大部分考虑的都不够            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-04 11:35:12
                            
                                56阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             任浩军 分布式实验室 Nepxion Discovery是一款对Spring Cloud服务注册发现和负载均衡的增强中间件,其功能包括灰度发布(包括切换发布和平滑发布),黑/白名单的IP地址过滤,限制注册,限制发现等,支持Eureka、Consul和Zookeeper,支持Spring Cloud Api Gateway(Finchley版)、Zuul网关和微服务的灰度发布,支持用户自定义和编程            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-05-14 23:39:10
                            
                                1228阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            如果实际生产有需求变更的话, 不会立刻在线上服务修改, 而是会切成一小部分流量进行修改测试。经过测            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-06-07 12:18:31
                            
                                579阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            实际生产中如有需求变更,并不会直接线上服务,最通常的做法便是:切出线上的小部分流量进行体验测试,经过测试后无问题则全面的上线。 这样做的好处也是非常明显,一旦出现了BUG,能够保证大部分的客户端正            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-08-04 15:59:00
                            
                                355阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            点击上方“Java精选”,选择“设为星标”别问别人为什么,多问自己凭什么!            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-04-30 18:45:48
                            
                                103阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            因为目前公司架构全部切换到spring cloud 模式,对于服务灰度方面没有dubbo zk的方便了,所以细细研究总结下留作备份。目前业界有几种流行的发布部署策略,从网上资料可以搜索到,不是这次重点贴出来看看就行了。目前部署的几种策略蓝绿部署蓝绿部署无需停机,并且风险较小。 (1) 部署版本1的应用(一开始的状态) 所有外部请求的流量都打到这个版本上。 (2) 部署版本2的应用 版本2的代码与版            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-18 11:38:16
                            
                                87阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            PS:源码已上传Github, 欢迎指教。 什么是灰度发布呢?要想了解这个问题就要先明白什么是灰度。灰度从字面意思理解就是存在于黑与白之间的一个平滑过渡的区域,所以说对于互联网产品来说,上线和未上线就是黑与白之分,而实现未上线功能平稳过渡的一种方式就叫做灰度发布。 上一节讲了Apollo作为配置中心的基本使用,但其更为强大的地方在于可以和Zuul+Eureka无缝集成,实现灰度发布。本篇            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-06 15:10:06
                            
                                76阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            
                    这篇文章来源于小伙伴提出的一个问题:如何解决多环境统一注册中心服务实例乱窜? 
怎么理解呢? 
假设现在开发环境的AccountService已经在Nacos中注册了,现在小张需要对它进行修改升级,本地启动AccountService后也注册到了Nacos,但是在调试的时候请求通过网关经常直接跳转到开发环境,这样的话小张就没办法安心debug了。 
             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-18 00:08:58
                            
                                42阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            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阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            灰度发布灰度发布是在多版本控制的基础上进一步扩展实现出来的项目 -> fm-cloud-graybunny,抽象出灰度服务、灰度服务实例、灰度策略、灰度决策等。      灰度策略可以从request ip, request patameter, request header等方面进行去创建,也可以根据bamboo的LoadBalanceRe            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-11 22:22:48
                            
                                137阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在我们系统发布生产环境时,有时为了确保新的服务逻辑没有问题,会让一小部分特定的用户来使用新的版本(`比如客户端的内测版本`),而其余的用户使用旧的版本,那么这个在Spring Cloud中该如何来实现呢?            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-06-21 08:36:04
                            
                                139阅读
                            
                                                                             
                 
                
                                
                    