Spring Cloud Gray 部署

Spring Cloud Gray分为管控端,和客户端,管控端需要部署Java管理服务和Web操作界面。而客户端则简单很多,我们分别介绍下部署方式。

管控端

Java管理服务

(1)添加jar包依赖maven工程可以在pom.xml中添加配置

<dependency>
    <groupId>cn.springcloud.gray</groupId>
    <artifactId>spring-cloud-starter-gray-server</artifactId>
    <version>A.1.1.2</version>
</dependency>

(2)添加application参数

application.yaml中添加Spring Boot启动时需要的参数,以及eureka、数据库、jpa的配置等。还有灰度管理的配置。

server:
  port: 20202
spring:
  application:
    name: gray-server
  #数据库配置
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/gray_server01?charset=utf8mb4&useSSL=false
    username: root
    password: root
  # JPA 相关配置
  jpa:
    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
    show-sql: true
    generate-ddl: true
    hibernate:
      ddl-auto: update
# eureka
eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    serviceUrl:
      defaultZone: http://localhost:20001/eureka/
#灰度管理
gray:
  server:
    evictionIntervalTimerInMs: 30000
    instance:
      normalInstanceStatus: STARTING,UP,OUT_OF_SERVICE
      eviction:
        enabled: true
        evictionIntervalTimerInMs: 86400000
        evictionInstanceStatus: DOWN,UNKNOWN
        lastUpdateDateExpireDays: 1

(3)创建Application

创建Application类,启动Spring Boot应用,灰度的管控端需要在Application类添加一个注解@EnableGrayServer,这样Spring Boot启动时,才会去加载gray server的相关配置类。

import cn.springcloud.gray.server.EnableGrayServer;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableGrayServer
@EnableDiscoveryClient
public class GrayServerApplication {

    public static void main(String[] args) throws UnknownHostException {
        new SpringApplicationBuilder(GrayServerApplication.class).web(true).run(args);
    }
}

到此,灰度管控端的工程就完成了,可以运行Application类启动Spring Boot。假如服务访问路径是http://localhost:20202,可以通过http://localhost:20202/swagger-ui.html访问swagger文档。

Web操作界面

Web操作界的源码在spring-cloud-gray-webui工程中,在源码根目录中运行npm run dev,可以运行开发环境的代码。

$ npm i
$ npm run dev

可以在.env.development文件中修改灰度管理服务的访问地址

ENV = 'development'
VUE_APP_BASE_API = 'http://localhost:20202'
VUE_CLI_BABEL_TRANSPILE_MODULES = true

如果要编译测试环境和生产环境的发布文件,可以参考下列列表

环境 运行命令 配置文件
开发环境 npm run dev .env.development
测试环境 npm run build:stage .env.staging
生产环境 npm run build:prod .env.production

编译后的文件都在根目录的dist文件夹下

客户端

服务消费方添加jar包依赖

maven工程在pom.xml中添加依赖

<dependency>
    <groupId>cn.springcloud.gray</groupId>
    <artifactId>spring-cloud-starter-gray-client</artifactId>
    <version>A.1.1.2</version>
</dependency>
<dependency>
    <groupId>cn.springcloud.gray</groupId>
    <artifactId>spring-cloud-gray-plugin-feign</artifactId>
    <version>A.1.1.2</version>
</dependency>

zuul(网关)添加jar包依赖

maven工程在pom.xml中添加依赖

<dependency>
    <groupId>cn.springcloud.gray</groupId>
    <artifactId>spring-cloud-starter-gray-client</artifactId>
    <version>A.1.1.2</version>
</dependency>
<dependency>
    <groupId>cn.springcloud.gray</groupId>
    <artifactId>spring-cloud-gray-plugin-zuul</artifactId>
    <version>A.1.1.2</version>
</dependency>

Spring Cloud Gateway(网关)添加jar包依赖

maven工程在pom.xml中添加依赖

<dependency>
    <groupId>cn.springcloud.gray</groupId>
    <artifactId>spring-cloud-starter-gray-client</artifactId>
    <version>B.0.0.2</version>
    <exclusions>
        <exclusion>
            <artifactId>spring-cloud-gray-plugin-webmvc</artifactId>
            <groupId>cn.springcloud.gray</groupId>
        </exclusion>
        <exclusion>
            <groupId>cn.springcloud.gray</groupId>
            <artifactId>spring-cloud-gray-plugin-eureka</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<dependency>
    <groupId>cn.springcloud.gray</groupId>
    <artifactId>spring-cloud-gray-plugin-gateway</artifactId>
    <version>B.0.0.2</version>
</dependency>

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/27/spring-cloud-gray-deployment/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Spring Cloud Gray 部署
Spring Cloud Gray分为管控端,和客户端,管控端需要部署Java管理服务和Web操作界面。而客户端则简单很多,我们分别介绍下部署方式。 管控端 Java管理服务 (……
<<上一篇
下一篇>>
文章目录
关闭
目 录