草庐IT

灰度图

全部标签

一种可灰度的接口迁移方案

在快速迭代的互联网背景下,系统为了实现快速上线,常常会选择最快的开发模式,例如我们常见的mvp版本迭代。大部分的业务系统对于未来业务的发展是不确定的,因此随着时间的推移,往往会遇到各种各样的瓶颈,例如系统性能、无法适配业务逻辑等问题,这时可能就涉及到系统架构的升级。系统升级往往包含最基础的两个部分:接口迁移重构和数据迁移重构,在系统架构升级的过程中,最重要的是需要保证系统稳定性,即用户不感知。因此文本的目的是提供一种可灰度、回滚的设计思路,实现稳定的架构升级。场景在我们系统迭代过程中,往往涉及到重构、数据源切换、接口迁移等场景,为了保障系统平稳上线,因此在接口迁移过程中应该保证可回滚、可灰度。

一种可灰度的接口迁移方案

在快速迭代的互联网背景下,系统为了实现快速上线,常常会选择最快的开发模式,例如我们常见的mvp版本迭代。大部分的业务系统对于未来业务的发展是不确定的,因此随着时间的推移,往往会遇到各种各样的瓶颈,例如系统性能、无法适配业务逻辑等问题,这时可能就涉及到系统架构的升级。系统升级往往包含最基础的两个部分:接口迁移重构和数据迁移重构,在系统架构升级的过程中,最重要的是需要保证系统稳定性,即用户不感知。因此文本的目的是提供一种可灰度、回滚的设计思路,实现稳定的架构升级。场景在我们系统迭代过程中,往往涉及到重构、数据源切换、接口迁移等场景,为了保障系统平稳上线,因此在接口迁移过程中应该保证可回滚、可灰度。

得物社区 Golang 灰度环境探索和实践

1、背景灰度发布可以在服务正式上线前,提前用小流量对新功能进行验证,提前发现问题,避免故障影响所有用户,对业务稳定性非常有价值。得物社区后端技术栈以golang为主,本文记录了社区后端在灰度环境建设过程中遇到的挑战,以及对应的探索和实践。名词解释小得物:得物内部小流量灰度环境。ARK:得物内部配置中心。DLB:得物内部负载均衡中间件。DMQ:得物内部消息中间件。DRPC:golang后端RPC系统。本文对涉及内部敏感信息部分做了打码和脱敏处理,敬请理解。2、小得物灰度引流架构优化2.1   小得物V1跟Java网关对接注册中心不同,社区HTTP是依赖容器Service和Ingress。对社区来

得物社区 Golang 灰度环境探索和实践

1、背景灰度发布可以在服务正式上线前,提前用小流量对新功能进行验证,提前发现问题,避免故障影响所有用户,对业务稳定性非常有价值。得物社区后端技术栈以golang为主,本文记录了社区后端在灰度环境建设过程中遇到的挑战,以及对应的探索和实践。名词解释小得物:得物内部小流量灰度环境。ARK:得物内部配置中心。DLB:得物内部负载均衡中间件。DMQ:得物内部消息中间件。DRPC:golang后端RPC系统。本文对涉及内部敏感信息部分做了打码和脱敏处理,敬请理解。2、小得物灰度引流架构优化2.1   小得物V1跟Java网关对接注册中心不同,社区HTTP是依赖容器Service和Ingress。对社区来

SpringCloud 优雅下线+灰度发布

在生产环境中,如何保证在服务升级的时候,不影响用户的体验,这个是一个非常重要的问题。如果在我们升级服务的时候,会造成一段时间内的服务不可用,这就是不够优雅的。那什么是优雅的呢?主要就是指在服务升级的时候,不中断整个服务,让用户无感知,进而不会影响用户的体验,这就是优雅的。实际上,优雅下线是目标,而不是手段,它是一个相对的概念,例如killPID和kill-9PID都是暴力杀死服务,相对于kill-9PID来说,killPID就是优雅的。但如果单独拿killPID出来说,我们能说它是优雅的下线策略吗?肯定不是啊,就是这个道理。因此,本文讲述的优雅下线仅能称之为“相对的优雅下线”,但相对于暴力的杀

SpringCloud 优雅下线+灰度发布

在生产环境中,如何保证在服务升级的时候,不影响用户的体验,这个是一个非常重要的问题。如果在我们升级服务的时候,会造成一段时间内的服务不可用,这就是不够优雅的。那什么是优雅的呢?主要就是指在服务升级的时候,不中断整个服务,让用户无感知,进而不会影响用户的体验,这就是优雅的。实际上,优雅下线是目标,而不是手段,它是一个相对的概念,例如killPID和kill-9PID都是暴力杀死服务,相对于kill-9PID来说,killPID就是优雅的。但如果单独拿killPID出来说,我们能说它是优雅的下线策略吗?肯定不是啊,就是这个道理。因此,本文讲述的优雅下线仅能称之为“相对的优雅下线”,但相对于暴力的杀

nginx 根据IP 进行灰度发布

灰度发布,简单来说,就是根据各种条件,让一部分用户使用旧版本,另一部分用户使用新版本。nginx的语法本身可以看作是一门小型的编程语言,通过简单的编程,可以轻松实现基于IP的灰度发布。需求:搭建准生产环境,供开发人员/运维在线上做最后的调整。如果OK,直接用rsync推送至生产环境。条件:办公室网络出口有固定IP解决办法:nginx负载均衡器判断客户端IP地址,如果是办公室IP,则反向代理到准生产环境;如果不是,则反向代理到生产环境。upstreamprod{server192.168.1.10;server192.168.1.11;}upstreampre-prod{server192.16

nginx 根据IP 进行灰度发布

灰度发布,简单来说,就是根据各种条件,让一部分用户使用旧版本,另一部分用户使用新版本。nginx的语法本身可以看作是一门小型的编程语言,通过简单的编程,可以轻松实现基于IP的灰度发布。需求:搭建准生产环境,供开发人员/运维在线上做最后的调整。如果OK,直接用rsync推送至生产环境。条件:办公室网络出口有固定IP解决办法:nginx负载均衡器判断客户端IP地址,如果是办公室IP,则反向代理到准生产环境;如果不是,则反向代理到生产环境。upstreamprod{server192.168.1.10;server192.168.1.11;}upstreampre-prod{server192.16

Opencv 图像处理:图像基础操作与灰度转化

本文已收录于Opencv系列专栏:​​深入浅出OpenCV​​,专栏旨在详解Python版本的Opencv,为计算机视觉的开发与研究打下坚实基础。免费订阅,持续更新。图像属性1.图像格式图像压缩比:通过编码器压缩后的图象数字大小和原图象数字大小的压缩比。BMP格式Windows系统下的标准位图格式,未经过压缩,一般图像文件会比较大。在很多软件中被广泛应用。JPEG格式也是应用最广泛的图片格式之一,它采用一种特殊的有损压缩算法,达到较大的压缩比可达到2:1甚至40:1,互联网上最广泛使用的格式GIF格式不仅可以是一张静止的图片,也可以是动画,并且支持透明背景图像,适用于多种操作系统,体型很小,网