草庐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。对社区来

数学的尽头没有数字?是,连基本的微积分定义公式都没啥数字

随着北大老师数学大神韦东奕韦神的走红,想必很多平时对数学毫无兴趣的人,也粗略了解了数学的重要性。机智客看到特别是某些个短视频平台,采访或VLOG记录和韦神相关的内容,都或多或少会出现一些满屏幕或满黑板的高等数学计算公式。看着满黑板的数学公式却难以找到几个你我凡夫俗子能认识的数字,不免感叹:数学的尽头没有数字。数学的尽头没有数字,真的假的?看看微积分,这些最最基本的概念和公式定义,就大概能感觉出来了。在之前的文章里,我们介绍过一些基本的微分内容,而微积分作为一个大整体和后续学习研究的基础,就已经相当抽象(对于我们很多普通人而言)了。而这已经没啥数字了。微分不说了,说下简单的积分。积分分为不定积分

数学的尽头没有数字?是,连基本的微积分定义公式都没啥数字

随着北大老师数学大神韦东奕韦神的走红,想必很多平时对数学毫无兴趣的人,也粗略了解了数学的重要性。机智客看到特别是某些个短视频平台,采访或VLOG记录和韦神相关的内容,都或多或少会出现一些满屏幕或满黑板的高等数学计算公式。看着满黑板的数学公式却难以找到几个你我凡夫俗子能认识的数字,不免感叹:数学的尽头没有数字。数学的尽头没有数字,真的假的?看看微积分,这些最最基本的概念和公式定义,就大概能感觉出来了。在之前的文章里,我们介绍过一些基本的微分内容,而微积分作为一个大整体和后续学习研究的基础,就已经相当抽象(对于我们很多普通人而言)了。而这已经没啥数字了。微分不说了,说下简单的积分。积分分为不定积分

第一讲:数值积分基础

现代物理,本质上只包含几何与材料两块的内容。几何描述的是物件的空间结构,对于给定的几何结构,不同的材料对于外界的反应是不同的。现代物理,不论是刚体软体流体,甚至是量子力学,本质上就是为了将这两种内容分开。计算机动画,本质上是一种视觉上的体验,通过视觉暂留效应用离散的图片模拟出连续的动画效果。最早的动画可以追溯到公元前三千年,人们发现的一个陶罐上面通过手绘多个图片,将多个图片串联起来就构成了一只山羊跳起来吃树叶的动画,而这种通过序列帧模拟连续运动的方式一直持续到早期的游戏制作,甚至今天2D游戏还依然大量使用这类动画技术。一些3D游戏中的角色的动作目前基本上是通过骨骼蒙皮实现,这种动画着眼于大体的

第一讲:数值积分基础

现代物理,本质上只包含几何与材料两块的内容。几何描述的是物件的空间结构,对于给定的几何结构,不同的材料对于外界的反应是不同的。现代物理,不论是刚体软体流体,甚至是量子力学,本质上就是为了将这两种内容分开。计算机动画,本质上是一种视觉上的体验,通过视觉暂留效应用离散的图片模拟出连续的动画效果。最早的动画可以追溯到公元前三千年,人们发现的一个陶罐上面通过手绘多个图片,将多个图片串联起来就构成了一只山羊跳起来吃树叶的动画,而这种通过序列帧模拟连续运动的方式一直持续到早期的游戏制作,甚至今天2D游戏还依然大量使用这类动画技术。一些3D游戏中的角色的动作目前基本上是通过骨骼蒙皮实现,这种动画着眼于大体的

SpringCloud 优雅下线+灰度发布

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

SpringCloud 优雅下线+灰度发布

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