Spring Cloud Config 本地配置、 Spring Cloud 服务跟踪

2022-07-04 11:17:27

Spring Cloud Config 本地配置

本地文件系统

我们可以将微服务的相关配置文件存储到本地文件中,然后让微服务来读取本地配置文件。

创建本地 Config Server

1、创建 Module,pom.xml

<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</artifactId></dependency></dependencies>

2、application.yml

server:port:8762spring:application:name: nativeconfigserverprofiles:active: nativecloud:config:server:native:search-locations: classpath:/shared

3、在 resources 路径下创建 shared 文件夹,并在此路径下创建本地配置文件 configclient-dev.yml

server:port:8070foo: foo version 1

4、创建启动类

packagecom.southwind;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.cloud.config.server.EnableConfigServer;@SpringBootApplication@EnableConfigServerpublicclassNativeConfigServerApplication{publicstaticvoidmain(String[] args){SpringApplication.run(NativeConfigServerApplication.class,args);}}

创建客户端读取配置中心的配置文件。
1、创建 Module,pom.xml

<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency></dependencies>

2、bootstrap.yml

spring:application:name: configclientprofiles:active: devcloud:config:uri: http://localhost:8762fail-fast:true

3、创建启动类

packagecom.southwind;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublicclassNativeConfigClientApplication{publicstaticvoidmain(String[] args){SpringApplication.run(NativeConfigClientApplication.class,args);}}

4、创建 Handler

packagecom.southwind.controller;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("/native")publicclassNativeConfigHandler{@Value("${server.port}")privateString port;@Value("${foo}")privateString foo;@GetMapping("/index")publicStringindex(){returnthis.port+"-"+this.foo;}}

打开浏览器访问 http://localhost:8070/native/index

Spring Cloud 服务跟踪

Zipkin 实现服务跟踪

什么是 Zipkin
1、Zipkin Server
2、Zipkin Client

Spring Cloud Sleuth 集成了 Zipkin
创建 Zipkin Server
1、创建 Module,pom.xml

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>io.zipkin.java</groupId><artifactId>zipkin-server</artifactId><version>2.9.4</version></dependency><dependency><groupId>io.zipkin.java</groupId><artifactId>zipkin-autoconfigure-ui</artifactId><version>2.9.4</version></dependency></dependencies>

2、application.yml

server:port:9090

3、创建启动类

packagecom.southwind;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importzipkin.server.internal.EnableZipkinServer;@SpringBootApplication@EnableZipkinServerpublicclassZipkinApplication{publicstaticvoidmain(String[] args){SpringApplication.run(ZipkinApplication.class,args);}}

创建 Zipkin Client
1、创建 Module,pom.xml

<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId></dependency></dependencies>

2、application.yml

port:8090spring:application:name: zipkinclientsleuth:web:client:enabled:truesampler:probability:1.0zipkin:base-url: http://localhost:9090/eureka:client:service-url:defaultZone: http://localhost:8761/eureka/

3、创建启动类

packagecom.southwind;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublicclassZipkinClientApplication{publicstaticvoidmain(String[] args){SpringApplication.run(ZipkinClientApplication.class,args);}}

4、创建 Handler

packagecom.southwind.controller;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("/zipkin")publicclassZipkinHandler{@Value("${server.port}")privateString port;@GetMapping("/index")publicStringindex(){returnthis.port;}}

依次启动注册中心、Zipkin Server、Zipkin Client
访问 http://localhost:9090/zipkin/

  • 作者:走不尽的心路
  • 原文链接:https://blog.csdn.net/weixin_44152682/article/details/124700365
    更新时间:2022-07-04 11:17:27