准备工作:1、ZooKeeper:需要去Apache Zookeeper官网下载Zookeeper.tar.gz包,Dubbo是依赖于Zookeeper的2、Maven:需要去Apache Maven官网下载Maven-xxx.bin.zip包,主要是为了打包war挂在Tomcat下3、Tomcat:当做运行的服务器4、Dubbo:http://dubbo.io/ 需要下载dubbo.zip到本地
Dubbo提供流量灰度的服务治理能力,可以在无需重启应用的情况下,配置标签路由规则和条件路由实现灰度发布Dubbo可以通过XML配置,注解配置,动态配置实现流量灰度,这里主要介绍动态配置的方式,其他配置方式请参考旧文档配置开始之前请确保成功运行Dubbo-Admin背景信息在产品开发中会遇到需求变化、版本迭代的场景,为了兼顾需求变化和系统稳定,发布要尽可能平滑,影响人群要由少到多,一旦有问题马上
转载 2024-06-29 18:00:26
131阅读
一. 灰度发布定义灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。二. 灰度发布的作用1.及早获得用户的意见反馈,完善产品功能,提升产品质量2.让用户参
 移动应用怎么灰度? - 知乎    BAT 公司是怎样产品灰度发布的? - 知乎 
原创 2024-05-28 21:41:57
15阅读
Kubernetes(简称K8S)是一个用于自动部署、扩展和管理容器化应用程序的开源平台。在实际的生产环境中,进行灰度发布是非常重要的一项任务,可以帮助我们在发布新版本时减少风险,确保稳定性。下面我将详细介绍如何在K8S中实现灰度发布。 ### 灰度发布的流程 首先,我们需要了解灰度发布的整个流程,如下所示: | 步骤 | 操作 | |------|-----------
原创 2024-03-25 09:50:20
84阅读
# Java项目灰度发布如何做的 在软件开发过程中,灰度发布是一种逐步将新版本功能发布给部分用户的策略,以减少潜在的风险,并在发现问题时及时进行调整。对于Java项目来说,灰度发布是一个重要的实践,可以帮助团队更安全地进行版本迭代。 ## 实际问题 在实际项目中,我们经常面临这样一个问题:如何在Java项目中实现灰度发布?通常我们会采用一些技术手段来解决这个问题,比如利用负载均衡、代理服务
原创 2024-02-23 04:26:35
45阅读
什么是灰度发布灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。灰度期:灰度发布开始到结束期间的这一段时间,称为灰度
转载 2024-08-29 22:50:58
198阅读
在上一篇文章《基于Spring cloud ribbon实现多版本控制》中介绍了如何扩展spring cloud ribbon实现接口多版本控制的项目 – fm-cloud-bambbo, 开发这个项目的过程,给我提供了很多想法和思路,发现只要再做一些扩展,就可以实现灰度管理,于是又有了 fm-cloud-graybunny。灰度发布灰度发布是在多版本控制的基础上进一步扩展实现出来的项目 -&gt
# JAVA 如何做灰度升级 ## 引言 灰度升级(或蓝绿部署)是一种软件发布的方法,使得在不影响用户体验的情况下逐步引入新功能或修复bug。Java应用也可以利用这一策略进行有效的灰度升级,确保新版本的稳定性和可靠性。本文将详细探讨利用Java进行灰度升级的方案,并提供代码示例。 ## 灰度升级的基本流程 灰度升级通常包括以下几个步骤: 1. **预备环境**:准备代码的不同版本并部署
原创 2024-08-15 03:39:25
73阅读
概述上两篇文章,我们讲解了灰度组件的需求和设计的思路。不管之前讲的限流、幂等框架,还是现在讲的灰度组件,功能性需求都不复杂,相反,非功能性需求是开发的重点。本章,按照上篇文章的灰度组件的设计思路,讲解如何进行编码实现。不过,本章对实现的讲解,前前面两个实战项目有所不同。在前两个项目中,我们都是手把手从最基础的 MVP 代码将其。然后讲解如何 review 代码发现问题、重构代码解决问题,最终得到一
蓝绿发布 (Blue Green Deployment) 是一种平滑过渡的发布模式。蓝绿发布的操作模式上,首先依赖于能够将全站应用划分为对等的 A、B 两个单元,A 先发布新产品代码并引入少许用户流量,B 继续运行老产品代码;如果新代码 A 经线上运行观察没有迹象表明有问题,或者用户行为对 A 中的
dubbo源码学习(三)-Router 在学习router之前先了解下灰色发布的概念 灰度发布概念:灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以
转载 2024-04-05 11:57:48
318阅读
整合nacos(Euraka 类似)实现灰度发布在一般情况下,升级服务器端应用,需要将应用源码或程序包上传到服务器,然后停止掉老版本服务,再启动新版本。但是这种简单的发布方式存在两个问题,一方面,在新版本升级过程中,服务是暂时中断的,另一方面,如果新版本有BUG,升级失败,回滚起来也非常麻烦,容易造成更长时间的服务不可用。什么是灰度发布呢?要想了解这个问题就要先明白什么是灰度灰度从字面意思理解就
Dubbo是什么?Dubbo是由阿里开发的一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包含:远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。 集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。 自
一、dubbo的服务降级dubbo的服务降级包含两种常见,屏蔽服务和服务容错。在dubbo-admin服务信息消费者界面可以看到有屏蔽和容错功能。屏蔽功能是将该服务直接进行屏蔽,消费者将不再调用服务提供者工程,接口直接返回null 空对象。比如在一些服务器压力比较大的情况下,可以 选择屏蔽一些非关键服务接口比如广告服务等,保证服务提供者工程减少请求压力。容错功能是当比如接口处理时不稳定,有时候正常
时至今日,Apache/dubbo-go(以下简称 dubbo-go )项目在功能上已经逐步对齐java版本,稳定性也在不同的生产环境得到了验证。社区便开始再服务治理、监控等方向发力。随着 1.2和1.3 版本发布dubbo-go 新增了大量此类新feature。今天我们聊一聊限流相关话题,此前dubbo-go已经支持了tps limit、execute limit、hystrix 的内置fi
本文所说的“柔性服务”主要是指 consumer 端的负载均衡和 provider 端的限流两个功能。在之前的 Dubbo 版本中,负载均衡部分更多的考虑的是公平性原则,即 consumer 端尽可能平等的从 provider 中作出选择,在某些情况下表现并不够理想。而限流部分只提供了静态的限流方案,需要用户对 provider 端设置静态的最大并发值,然而该值
为了防止某个消费者的QPS或是所有消费者的QPS总和突然飙升而导致的重要服务的失效,系统可以对访问流量进行控制,这种对集群的保护措施称为服务限流。 Dubbo中能够实现服务限流的方式较多,可以划分为两类:直接限流与间接限流直接限流:通过对连接数量直接进行限制来达到限流的目的。(官方方案汇总)间接限流:通过一些非连接数量设置来达到限制流量的目的。(我的偶像总结-Reythor雷)一、executes
转载 2024-06-12 12:58:56
79阅读
之前我们了解了 Sentinel 集成 SpringBoot实现限流,也探讨了Sentinel的限流基本原理,那么接下去我们来学习一下Sentinel整合Dubbo及 Nacos 实现动态数据源的限流以及分布式限流。  先来看一下我的工程目录:单服务的限流:  Provider :  首先从 api 模块开始:  其中只是定义了一个接口:public interface SentinelServi
转载 2024-06-09 19:09:17
38阅读
一、灰度发布系统简介灰度发布(又名金丝雀发布)是指在多版本之间,能够平滑过渡的一种发布方式。比如一个产品或服务迭代更新, 又要保证上线的影响范围,这个时候就需要一个灰度发布系统。这里我们主要介绍云客服产品的灰度发布实现方式。 灰度发布一般分为三部分:灰度部分用户请求至新版本或新服务测试、运营分析灰度效果紧急回退 或 全量灰度 我们将上面三部分从开始灰度到全量或回退或或称或称为灰度期。 l 灰度期:
  • 1
  • 2
  • 3
  • 4
  • 5