将工具包解压缩。在IntelliJ Idea中打开springcloud-example文件夹,如下图所示,您需要基于该模板框架进行业务代码的开发。
图-1 开发业务逻辑
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目前无法在公网上获取,需要在本系统中下载后安装到本地或内部的私服。具体可见下载工具。
下载成功后,将zip包中的com目录拷贝到本地repository(默认为${user.home}/.m2/repository目录下,如下图所示。
图-2 本地安装
将sdk和tracing上传到私服中的指定路径。需要注意的是,上传时必须上传jar包和pom.xml文件,否则可能会导致无法引入sdk依赖。
图-3 私服安装
在项目中引入SDK依赖,支持Maven和Gradle依赖库。
<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>
implementation 'com.sdk:springcloudsdk:0.2.8-G'
依赖配置在pom.xml文件,如下。
implementation 'com.sdk:springcloudsdk:0.2.8-G'
可以看到对应的依赖及其引入的依赖,说明依赖已安装成功。如果未引入,请查看pom文件是否正确上传。
图-4 依赖已安装
项目本地运行正常后,可直接部署到平台无需额外配置。
| SDK引入成功后,注册中心和配置中心的地址等相关参数都已经通过环境变量配置,部署到平台后会自动注入,无需再次在工程中进行配置。 |
本地联调需要配置配置中心地址(CONFIG_URL)和注册中心地址(EUREKA_URL)。但部署到平台不建议配置这两个地址,平台会自动注入合适的地址。
其他情况下,可以在Idea或Eclipse中设置环境变量地址;或者在非生产的profile下的property文件中直接配置地址。
在IntelliJ idea或eclipse中设置环境变量地址。
图-5 配置环境变量地址
配置完成后即可正常联调。
在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}
配置完成后即可正常联调。