开发业务

Spring Cloud Example配置

将工具包解压缩。在IntelliJ Idea中打开springcloud-example文件夹,如下图所示,您需要基于该模板框架进行业务代码的开发。

图-1 开发业务逻辑

SDK依赖配置

SDK简介

Spring Cloud SDK主要作用是简化使用平台的Spring Cloud引擎。SDK中默认引入了Spring Cloud的一些必要组件,如eureka客户端,spring config客户端,监控,链路等。并对这些功能提供了默认的配置,业务代码引入SDK后即具备相关的能力,能够做到零配置使用Spring Cloud引擎。引入SDK后可自动连接配置中心,注册中心,具备治理和配置的热更新能力。

版本适配关系

目前SDK只支持Spring Boot工程,版本对应关系如下所示。

SDK版本

Spring cloud 版本

Spring boot 版本

0.2.8-F

Finchley

spring boot 2.0.x

0.2.8-G

Greenwich

Spring boot 2.1.x

0.2.8-H

Hoxton

Spring boot 2.2.x

另外平台支持Spring Cloud 灰度发布功能,此功能需要对应的SDK版本如下表。

SDK版本

Spring Cloud 版本

Spring Boot 版本

0.0.1-F-RC3

Finchley

spring boot 2.0.x

0.0.1-G-RC3

Greenwich

Spring boot 2.1.x

0.0.1-H-RC3

Hoxton

Spring boot 2.2.x

功能说明

SDK默认引入链路、注册、配置、监控、安全等功能,并提供默认配置,无特殊需求,直接引入即可。也支持根据需求进行修改。例如,当需要在本系统外运行SDK,但仍需要在本系统上使用SDK相关功能时,可以通过如下配置修改链路的collector地址,host和port配置为本系统的IP和端口号。

tracing.jaeger.UdpSender.host=10.125.31.170

tracing.jaeger.UdpSender.port=11822

安装SDK

SDK目前无法在公网上获取,需要在本系统中下载后安装到本地或内部的私服。具体可见下载工具

安装到本地

下载成功后,将zip包中的com目录拷贝到本地repository(默认为${user.home}/.m2/repository目录下,如下图所示。

图-2 本地安装

安装到私服

将sdk和tracing上传到私服中的指定路径。需要注意的是,上传时必须上传jar包和pom.xml文件,否则可能会导致无法引入sdk依赖。

图-3 私服安装

使用SDK

在项目中引入SDK依赖,支持Maven和Gradle依赖库。

Maven依赖库

<dependency>

<groupId>com.sdk</groupId>

<artifactId> springcloudsdk</artifactId>

<version>0.2.8-G</version>

</dependency>

# 可以根据需要排除自己不需要的依赖,如关闭spring security

<dependency>

<groupId>com.sdk</groupId>

<artifactId> springcloudsdk</artifactId>

<version>0.2.8-G</version>

<exclusions>

<exclusion>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-security</artifactId>

</exclusion>

</exclusions>

</dependency>

Gradle依赖库

implementation 'com.sdk:springcloudsdk:0.2.8-G'

  1. 依赖配置在pom.xml文件,如下。

    implementation 'com.sdk:springcloudsdk:0.2.8-G'

刷新工程依赖

可以看到对应的依赖及其引入的依赖,说明依赖已安装成功。如果未引入,请查看pom文件是否正确上传。

图-4 依赖已安装

项目本地运行正常后,可直接部署到平台无需额外配置。

SDK引入成功后,注册中心和配置中心的地址等相关参数都已经通过环境变量配置,部署到平台后会自动注入,无需再次在工程中进行配置。

本地联调

本地联调需要配置配置中心地址(CONFIG_URL)和注册中心地址(EUREKA_URL)。但部署到平台不建议配置这两个地址,平台会自动注入合适的地址。

其他情况下,可以在Idea或Eclipse中设置环境变量地址;或者在非生产的profile下的property文件中直接配置地址。

方式一

  1. 在IntelliJ idea或eclipse中设置环境变量地址。

图-5 配置环境变量地址

  1. 配置完成后即可正常联调。

方式二

  1. 在property文件中设置默认值。

    spring.cloud.config.uri=${CONFIG_URL:http://10.125.30.150:60575}

    eureka.client.service-url.defaultZone=${EUREKA_URL:http://user:[email protected]:41157/eureka}

  2. 配置完成后即可正常联调。