首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring Cloud应用的优雅下线与灰度发布

常见的优雅解决方案,主要包括优雅下线和灰度发布。而实际上,灰度发布的范围就已经包含优雅下线了。 最后,在本文中,我们主要讲述基于 Spring Cloud 和 Euraka 的优雅下线以及灰度发布。...优雅下线 常见的下线方式 方式一:kill PID 使用方式:kill java进程ID 该方式借助的是 Spring Boot 应用的 Shutdown hook,应用本身的下线也是优雅的,但如果你的服务发现组件使用的是...金丝雀部署 金丝雀部署又称灰度部署(或者,灰度发布),英文名为 Canary Deployment,是指在黑与白之间,能够平滑过渡的一种发布方式。...不同版本应用共存,经常与 A/B 测试一起使用,用于测试选择多种方案。...金丝雀部署比较典型的例子,就是我们在使用某个应用的时候,该应用邀请我们进行“内测”或者“新版本体验”,如果我们同意了,那么我们就成了金丝雀。

46220
您找到你想要的搜索结果了吗?
是的
没有找到

如何通过ingress-nginx实现应用灰度发布?

在日常的工作中,我们会经常对应用进行发版升级,在互联网公司尤为频繁,主要是为了满足快速的业务发展。我们经常用到的发布方式有滚动更新、蓝绿发布、灰度发布。...灰度发布:在一套集群中存在稳定和灰度两个版本,灰度版本可以限制只针对部分人员可用,待灰度版本测试完成后,可以将灰度版本升级为稳定版本,旧的稳定版本就可以下线了,我们也称之为金丝雀发布。...该规则允许用户自定义 Request Header 的值,必须与上一个 annotation (即:canary-by-header)一起使用。...关于灰度发布流水线设计的想法 首先来捋捋过程: 发布canary版本应用进行测试 测试完成将canary版本替换成stable版本 删除canary版本的ingress配置 删除老的stable版本...其实我更推荐使用argo-rollouts结合argocd进行灰度发布,argo-rollouts自定义了一套CRD用于控制发布流程,可以省去很多手动操作过程,argocd是基于gitops实现的一套软件

1.2K40

干货分享|使用 Istio 实现灰度发布

本文将主要介绍如何使用 Istio 扩充 Kubernetes 灰度发布的能力。而在部署上,则会利用开源项目 Rainbond 作为基础平台来进行实践。...Rainbond 是一个云原生应用管理平台,它使用应用为中心的设计模式。基于这一设计模式抽象出了标准化的应用模型。从使用的体验上不需要学习和编写YAML,即可实现业务应用的全生命周期管理。...,在一些复杂场景下,我们就需要使用 Istio 来实现更精细的灰度发布策略。...在使用 Istio 进行灰度发布时,我们需要了解两个重要概念:Virtual services: 虚拟服务定义了请求到服务的路径。可以包含一组路由规则,使匹配到对应规则的请求能到达指定目标。...为了让 BookInfo 这个应用使用到 Istio 的治理能力,所以需要切换到 Istio 治理模式。图片准备镜像BookInfo 这个应用程序由 6 个微服务组成,它们之间的依赖如下图所示。

2K20

面试官:使用 RocketMQ 怎么进行灰度发布?

但如果使用消息队列该怎么做呢?使用消息队列,并不能使用网关来进行流量转发。这里需要分不同场景进行分析。...2.1 消费端过滤 在生产者的 Order 类中增加 createTime 属性,如果我们直接使用 createTime 属性来过滤,消费者并不能实现灰度,因为所有的消费者都可能会拉取到带有 createTime...Consumer Group 相当于是广播组: 两个组都要对所有的消息进行拉取,比如本来使用灰度发布计划切 10% 的流量,但实际上全部流量都切过去了,只是根据属性做了判断。...bySql(String sql) { return new MessageSelector(ExpressionType.SQL92, sql); } 3 总结 本文介绍了 RocketMQ 灰度消息的使用方法...对于全链路的复杂灰度场景,可以参考使用阿里的微服引擎 MSE。

66530

使用 Istio 实现灰度发布(金丝雀发布)

灰度发布(又名金丝雀发布)介绍 当应用上线以后,运维面临的一大挑战是如何能够在不影响已上线业务的情况下进行升级。...Istio实现灰度发布(金丝雀发布)的原理 从上面的流程可以看到,如果要实现一套灰度发布的流程,需要应用程序和运维流程对该发布过程进行支持,工作量和难度的挑战是非常大的。...Istio通过高度的抽象和良好的设计采用一致的方式解决了该问题,采用sidecar对应用流量进行了转发,通过Pilot下发路由规则,可以在不修改应用程序的前提下实现应用灰度发布。...备注:采用kubernetes的滚动升级(rolling update)功能也可以实现不中断业务的应用升级,但滚动升级是通过逐渐使用新版本的服务来替换老版本服务的方式对应用进行升级,在滚动升级不能对应用的流量分发进行控制...并且在同时存在新老版本服务时,还可根据应用压力对不同版本的服务进行独立的缩扩容,非常灵活。采用Istio进行灰度发布的流程如下图所示: ?

6.5K52

【沥血整理】灰度(二值)图像重构算法及其应用(morphological reconstruction)。

,毕竟这个算法还有一些应用是值得回味和研究的。...扩展到灰度图像,似乎上述定义1就成了无法理解的行为了,确实是这样的,但是我们如果不管这些,定义的操作从程序的角度来说灰度图也是毫无区别的。那么在论文中也是这样推广到灰度的。   ...matlab里也是使用的这种算法来实现,但是我在用这种算法实现时,发现总是有些图和matlab的结果不一致,但有些图又正常,一直没有找到问题的症结所在,同时我发现第三种写法实际上也没有比最后的混合算法慢多少...二、算法的直接和间接应用   理论部分讲完,现在在来谈谈这个算法比较精彩的部分。  ...这个时候我们就可以用重构算法来回复他们,比如下图:           原始图              某种处理后去掉了不需要的目标,但改变了正常目标原始形态         使用重建进行回复

80620

使用 KubeSphere 轻松实现微服务灰度发布与熔断

项目地址:https://github.com/kubesphere/kubesphere KubeSphere 架构图 本文将演示如何使用 KubeSphere 轻松实现微服务的灰度发布与熔断。...KubeSphere 基于 Istio 提供了蓝绿部署、金丝雀发布、流量镜像等三种灰度策略,无需修改应用的业务代码,即可实现灰度、流量治理、Tracing、流量监控、调用链等服务治理功能。...本文使用 Istio 官方提供的 Bookinfo 微服务示例,基于 KubeSphere 快速创建一个微服务应用并对其中的服务组件进行灰度发布与熔断。...点击 reviews 一栏的 「选择」,即选择对应用组件 reviews 进行灰度发布,点击 「下一步」。 3.4. 参考如下填写灰度版本信息,完成后点击 「下一步」。...总结 本文先简单介绍了微服务示例应用 Bookinfo 的架构,然后使用 KubeSphere 容器平台通过 Step-by-Step Guide 说明了灰度发布、流量治理与熔断的操作。

1.9K20

不可思议的混合模式 background-blend-mode

由于 mix-blend-mode 这个属性的强大,很多应用场景和动效的制作不断完善和被发掘出来,遂另起一文继续介绍一些使用 mix-blend-mode 制作的酷炫动画。...background-blend-mode 的可用取值与 mix-blend-mode一样,不重复介绍,下面直接进入应用阶段。...background-blend-mode 基础应用 对于 background-blend-mode ,最简单的应用就是将两个或者多个图片利用混合模式叠加在一起。...应用这种方式,我们可以使用 background-blend-mode 来制作点击或者 hover 时候的蒙板效果。 假设我们有这样一张原图(黑白效果较好): ?...这里我们使用 mix-blend-mode 也能够轻易实现,我们只需要构造出黑色文字,白色底色的文字 div ,叠加上图片,再运用 mix-blend-mode 即可,简单原理如下: ?

92850

不可思议的混合模式 background-blend-mode

由于 mix-blend-mode 这个属性的强大,很多应用场景和动效的制作不断完善和被发掘出来,遂另起一文继续介绍一些使用 mix-blend-mode 制作的酷炫动画。...background-blend-mode 的可用取值与 mix-blend-mode一样,不重复介绍,下面直接进入应用阶段。...background-blend-mode 基础应用 对于 background-blend-mode ,最简单的应用就是将两个或者多个图片利用混合模式叠加在一起。...应用这种方式,我们可以使用 background-blend-mode 来制作点击或者 hover 时候的蒙板效果。 假设我们有这样一张原图(黑白效果较好): ?...这里我们使用 mix-blend-mode 也能够轻易实现,我们只需要构造出黑色文字,白色底色的文字 div ,叠加上图片,再运用 mix-blend-mode 即可,简单原理如下: ?

75330

【转】动效案例:纯手工写一个滚动视差效果

作为网页设计的热点趋势,越来越多的网站应用了这项技术。 视差效果,原本是一个天文学术语,当我们观察星空时,离我们远的星星移动速度较慢,离我们近的星星移动速度则较快。...许多游戏中都使用视差效果来增加场景的立体感。说的简单点就是网页内的元素在滚动屏幕时发生的位置的变化,然而各个不同的元素位置变化的速度不同,导致网页内的元素有层次错落的错觉,这和我们人体的眼球效果很像。...luminosity; // 亮度 为了更好理解这个属性,我们可以借鉴PS混合图层 2、window属性:scrollY 在这里我们使用JS脚本动态更新相关图片在界面的位置,这是我们制作滚动视差的关键...left: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; } 3、接下来我们使用伪元素...::before 和 ::after 来在section区域在所有的图片上覆盖一层墨蓝色的背景,使用mix-blend-mode: color 属性让图片的颜色保持一致性,给人一种月色已晚高冷的感觉,

1.3K11

CSS 奇技淫巧 | 妙用混合模式实现文字镂空波浪效果

本文将介绍一个小技巧,通过混合模式 mix-blend-mode 巧妙的实现文字的镂空波浪效果。 起因 一日,一群友私聊问我。...纯 CSS 实现波浪效果 在进入正题前,我们先复习下,使用 CSS 实现波浪,如果不是在镂空的文字内,而是在一个 div 容器内,可以使用滚动大圆的方式,类似于这样: 容器应用 overflow: hidden...如何在文字中应用此效果 OK,回归正题,那么如何在文字中应用此效果呢? 问题出在哪里呢?...尝试使用让文字透明 我们要尝试让文字透明 可以使用 color: transparent 使文字透明 尝试使用 background-clip 实现 emmm,逐一尝试下。...完整的代码你可以猛击:CSS 灵感 - 使用混合模式叠加实现文字波浪效果 最后 好了,本文到此结束,希望对你有帮助 本文没有详细的去讲混合模式 mix-blend-mode 的一些基础用法,感兴趣的同学可以自行研究

93120

动效案例:纯手工写一个滚动视差效果

作为网页设计的热点趋势,越来越多的网站应用了这项技术。 视差效果,原本是一个天文学术语,当我们观察星空时,离我们远的星星移动速度较慢,离我们近的星星移动速度则较快。...许多游戏中都使用视差效果来增加场景的立体感。说的简单点就是网页内的元素在滚动屏幕时发生的位置的变化,然而各个不同的元素位置变化的速度不同,导致网页内的元素有层次错落的错觉,这和我们人体的眼球效果很像。...2、window属性:scrollY 在这里我们使用JS脚本动态更新相关图片在界面的位置,这是我们制作滚动视差的关键。...left: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; } 3、接下来我们使用伪元素...::before 和 ::after 来在section区域在所有的图片上覆盖一层墨蓝色的背景,使用mix-blend-mode: color 属性让图片的颜色保持一致性,给人一种月色已晚高冷的感觉,

1.3K20

神奇的CSS,几行代码就可以让照片变老照片的效果

sepia(1); -webkit-mask: radial-gradient(#000, #0009); } 让我们一一看看每个 filters 滤镜的作用: grayscale(1):将图片变成灰度级...我们可以通过在 CSS 中应用遮罩来实现。不幸的是,并非所有浏览器都支持遮罩……对我们来说幸运的是,供应商前缀是!所以我们可以使用 -webkit-mask 应用相同的效果。...二、使用伪元素 使用单个 标签的一个问题是图像没有像 ::before 或 ::after 这样的伪元素,这限制了我们可以应用到元素的效果。...这样,我们就可以对图像本身应用背景滤镜效果。 使用 backdrop-filter,我们可以对元素后面的区域应用过滤器。...我强烈建议使用不同的 mix-blend-mode 值:darken 和 multiply 产生我们想要的效果的很好的结果。

2.9K30

神奇的 CSS,让文字智能适配背景颜色

该混合模式最常见的应用场景就是文章开头描述的场景,实现文本在不同背景色下展示不同的颜色。...当然,不一定是黑色或者白色,看看下面这个例子,有这样一种场景,有的时候我们不太确定背景颜色的最终表现值(可能是后台配置,传给前端),但是又需要让文字能够在任何背景颜色下都正常展出,此时,也可以尝试使用...mix-blend-mode: difference。...: difference 的 元素都可以正常展示出文本: CodePen Demo -- mix-blend-mode:difference实现文字颜色自适应底色 mix-blend-mode...这里实际使用的时候,在非黑白场景下,还需要多加实验加以取舍。 最后 总结一下,本文介绍了利用 CSS 混合模式实现文本适配背景展示的一个小技巧

1.6K40

CSS奇思妙想 -- 使用 background 创造各种美妙的背景

本文属于 CSS 绘图技巧其中一篇,系列文章: 在 CSS 中使用三角函数绘制曲线图形及展示动画 CSS奇思妙想 -- 使用 CSS 创造艺术 将介绍一些利用 CSS 中的 background、mix-blend-mode...使用 mix-blend-mode mix-blend-mode ,混合模式。最常见于 photoshop 中,是 PS 中十分强大的功能之一。...CodePen Demo - Repeating-linear-gradient background & mix-blend-mode 尝试不同的 mix-blend-mode 那为什么上面使用的是...我们可以使用径向渐变,生成多重的径向渐变。像是这样: ? 给图片应用上 background-size,它就会像是这样: ?...-webkit-mask-composite: 属性指定了将应用于同一元素的多个蒙版图像相互合成的方式。

1.2K30

使用 Kubernetes Ingress-Nginx 实现蓝绿、灰度发布!你会用了吗?

背景介绍 某些情况下,我们在使用Kubernetes作为业务应用的云平台,想要实现应用的蓝绿部署用来迭代应用版本,用lstio太重太复杂,而且它本身定位于流控和网格治理;Ingress-Nginx在0.21...版本引入了Canary功能,可以为网关入口配置多个版本的应用程序,使用annotation来控制多个后端服务的流量分配。...用来做发布前测试,测试过程中发现任何问题,可以直接在蓝色系统上修改,不干扰用户正在使用的系统。...金丝雀发布 金丝雀发布(Canary)也是一种发布策略,和国内常说的灰度发布是同一类策略。...有时候两者都可以使用,有时候只能用其中一种。 A/B测试 首先需要明确的是,A/B测试和蓝绿部署以及金丝雀,完全是两回事。

1.1K10
领券