Libra Platform is a micro-service Platform

Libra-Platform is a microservices Platform. Developed based on SpringCloud(2020.0.x) + SpringCloudAlibaba(2021.x) + SpringBoot(2.4.x) + Vue3, based on the design of multi-tenant SaaS model, with a strong user center, permissions based on RBAC design, Supports full-link blue-green grayscale release. Libra Platform’s clean architecture, clean code, and full of annotations make it a good infrastructure to use.

Gitee Warehouse address: gitee.com/huangfubin/…

Github storage address: github.com/hfbin/Libra…

2. Online experience

www.librayun.net:8888/

Libra Platform is a full-link blue-green grayscale release for microservices

Blue-green grayscale publishing has been extracted into components, which have no association with business code and other components. When needed, it is very simple to introduce the corresponding component dependencies into the corresponding services that need blue-gray scale publishing.

3.1 Blue and green grayscale release engineering description

│ ─ libra - BGG - blue, green, gray parent │ ├ ─ libra - BGG - common blue green grey public encapsulation │ ├ ─ libra - BGG - gateway blue green grey gateway component │ ├ ─ libra - BGG - service gateway component blue, green, grayCopy the code

3.2 Support full-link mixed blue-green grayscale release

In gateway -> service full link invocation, blue and green grayscale publishing can be mixed

  • Blue-green publishing is implemented on the gateway and grayscale publishing is implemented on the service
  • Grayscale publishing is implemented on the gateway and blue-green publishing is implemented on the service

In service -> service full link invocation, blue and green grayscale publishing can be mixed

  • Blue-green release is implemented on service A and grayscale release is implemented on service B
  • Grayscale release is implemented on service B, and blue-green release is implemented on service A

3.3 Support single-node mixed blue-green grayscale release

A blue-green grayscale publishing policy can be configured on the gateway or service at the same time. The policy priority is blue-green > grayscale

The link is published in blue and green

Full-link grayscale release

3.4 Configuration Description of Blue-Green Gray Publishing [rule-.json]

1, complete mixed full link blue green gray publishing configuration

Rule execution priority: blue-green > grayscale > Bottom. Blue-green grayscale release matching conditions support multi-condition configuration. Expression supports Spring SepL expression rules.

2. Full-link blue-green publishing configuration3. Full-link gray publishing configuration

3.5 Gateway Access Blue-green grayscale is available

1. Add dependencies

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

2. Add the blue/green/grayscale publishing rule rule-.json under Resources

3. Add the following configuration in bootstrap.yml to enable blue-green grayscale publishing, which is disabled by default. If related services are included in the configuration policy, all the included services must be set to true.

libra:
  bgg:
    enabled: true
Copy the code

Libra. BGG. Enabled is set to false if you do not need the package to be introduced in blue-green publishing.

3.6 Non-Gateway Access In blue-green gray mode

1. Add dependencies

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

2. Add the blue/green/grayscale publishing rule rule-.json under Resources

3. Add the following configuration in bootstrap.yml to enable blue-green grayscale publishing, which is disabled by default. If related services are included in the configuration policy, all the included services must be set to true.

libra:
  bgg:
    enabled: true
Copy the code

Libra. BGG. Enabled is set to false if you do not need the package to be introduced in blue-green publishing.