Spring Cloud Gray 部署

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

管控端

Java管理服务

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

1
2
3
4
5
<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的配置等。还有灰度管理的配置。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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的相关配置类。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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,可以运行开发环境的代码。

1
2
$ npm i
$ npm run dev

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

1
2
3
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中添加依赖

1
2
3
4
5
6
7
8
9
10
<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中添加依赖

1
2
3
4
5
6
7
8
9
10
<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中添加依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<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>

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2021 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :