java架构设计专题

谈谈灰度发布的设计与实现

2019-10-16  本文已影响0人  先生zeng

定义

灰度发布时互联网产品发布常用的一种方式,顾名思义,就是在黑与白之前平滑过渡的一种产品发布方式。铲平发布者根据某种规则,让一部分用户继续使用原来的产品功能,另一部分用户开始组建启用新的功能,在过度的过程中可能还会对产品做进一步的完善,灰度发布完成后,所有用户都将使用新的产品功能。

灰度发布目的

互联网产品需要快速迭代上线,又要保证质量,保证刚上线的吸引,一旦出现问题可以很快控制局面,就需要设计一套灰度发布系统。

作用

可以根据配置,将用户流量导到新的上线的系统上,来快速验证新的功能,而一旦出现问题,也可以马上的恢复,简单的说就是一套A/B test 系统

架构方案

image

难点 怎么去设计

协议设计

image image

案例

复杂场景

场景一

image

网关层改动,数据访问层也要改动。


image

场景二

image image

灰度发布的链路

ABTest场景实施的层次

核心问题

本质是什么? 如果只是一个具体的业务逻辑实现,那么在业务层做。如果是通用的,那么在网关层。

开源框架:

springCloud灰度发布神器

    Nepxion Discovery
        服务注册和负载均衡的增强中间件
        包含了灰度发布

APP端如何发布

image
上一篇 下一篇

猜你喜欢

热点阅读