Libra-Platform微服务平台之全链路蓝绿灰度发布

Posted 开源项目LibraPlatform

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Libra-Platform微服务平台之全链路蓝绿灰度发布相关的知识,希望对你有一定的参考价值。

1、Libra-Platform 微服务平台

Libra-Platform微服务平台。基于SpringCloud(2020.0.x) + SpringCloudAlibaba(2021.x) + SpringBoot(2.4.x) + Vue3开发,基于多租户SaaS模式的设计,拥有强大的用户中心,权限基于RBAC设计,支持全链路蓝绿灰度发布。Libra-Platform平台架构清晰、代码简洁、注解齐全,很适合作为基础框架使用。

Gitee仓库地址:https://gitee.com/huangfubin/LibraPlatform

Github仓库地址:https://github.com/hfbin/LibraPlatform

2、在线体验

http://www.librayun.net:8888/

3、Libra-Platform微服务平台之全链路蓝绿灰度发布

蓝绿灰度发布目前已抽成组件,与业务代码和其它组件没有任何关联,需要用时候非常简单只需要将对应组件依赖引入到对应需要蓝灰度发布的服务即可。

3.1 蓝绿灰度发布工程说明

│─libra-bgg -- 蓝绿灰度父级
│  ├─libra-bgg-common 蓝绿灰度公共封装
│  ├─libra-bgg-gateway 蓝绿灰度网关组件
│  ├─libra-bgg-service 蓝绿灰度非网关组件

3.2 支持全链路混合蓝绿灰度发布

网关 -> 服务全链路调用中,可以混合实施蓝绿灰度发布

  • 网关上实施蓝绿发布,服务上实施灰度发布
  • 网关上实施灰度发布,服务上实施蓝绿发布

服务 -> 服务全链路调用中,可以混合实施蓝绿灰度发布

  • A服务上实施蓝绿发布,B服务上实施灰度发布
  • B服务上实施灰度发布,A服务上实施蓝绿发布

3.3 支持单节点混合蓝绿灰度发布

网关或服务上可以同时配置蓝绿灰度发布策略,策略优先级:蓝绿 > 灰度

全链路蓝绿发布


全链路灰度发布

3.4 蓝绿灰度发布配置说明[rule.json]

1、完整的混合全链路蓝绿灰度发布配置

规则执行优先级:蓝绿 > 灰度 > 兜底,蓝绿灰度发布匹配条件支持多条件配置,expression支持spring sepl表达式规则。

2、全链路蓝绿发布配置

3、全链路灰度发布配置

3.5 网关接入蓝绿灰度发布

1、添加依赖

<dependency>
    <groupId>cn.hfbin</groupId>
    <artifactId>libra-bgg-gateway</artifactId>
    <version>1.0.0</version>
</dependency>

2、在resources下添加蓝绿、灰度发布规则rule.json

3、在bootstrap.yml添加如下配置,开启蓝绿灰度发布,默认是关闭的,如果在配置策略中包含的相关服务,必须在所包含的服务都设置为true,如果中间断层往后调用的服务链路将不起作用。

libra:
  bgg:
    enabled: true

说明:如果不需要蓝绿灰度发布引入了包务必将libra.bgg.enabled配置为false,蓝绿灰度发布是通过请求头进行传递相关策略信息,有一定耗时(具体损耗的时间待测试给出数据)。

3.6非网关接入蓝绿灰度发布

1、添加依赖

<dependency>
    <groupId>cn.hfbin</groupId>
    <artifactId>libra-bgg-service</artifactId>
    <version>1.0.0</version>
</dependency>

2、在resources下添加蓝绿、灰度发布规则rule.json

3、在bootstrap.yml添加如下配置,开启蓝绿灰度发布,默认是关闭的,如果在配置策略中包含的相关服务,必须在所包含的服务都设置为true,如果中间断层往后调用的服务链路将不起作用。

libra:
  bgg:
    enabled: true

说明:如果不需要蓝绿灰度发布引入了包务必将libra.bgg.enabled配置为false,蓝绿灰度发布是通过请求头进行传递相关策略信息,有一定耗时(具体损耗的时间待测试给出数据)。

以上是关于Libra-Platform微服务平台之全链路蓝绿灰度发布的主要内容,如果未能解决你的问题,请参考以下文章

微服务实践之全链路追踪(sleuth,zipkin)详解-SpringCloud(2021.0.x)-4

Libra-Platform微服务平台基于SpringCloud(2020.0.0)+SpringCloudAlibaba(2021.1)+SpringBoot(2.4.2)+Vue3开发即将开源(代

性能基础之全链路压测知识整理

百万长连接之全链路压测性能分析

特定微服务的蓝绿部署

微服务从入门到精通:微服务的蓝绿发布及灰度发布