二、整合 Spring Cloud Sleuth
本节由之前的 Spring Cloud 学习系列:(二)微服务的注册与发现——Eureka 改造而来。
本文的案例主要有三个工程组成:一个microservice-server-zipkin,它的主要作用使用ZipkinServer 的功能,收集调用数据,并展示;一个microservice-service-zipkin-hi对外暴露hi接口;一个microservice-service-zipkin-riemann对外暴露riemann接口;这两个service可以相互调用;并且只有调用了,microservice-server-zipkin才会收集数据的,这就是为什么叫服务追踪了。
1、在spring Cloud为F版本的时候,已经不需要自己构建Zipkin Server了,只需要下载jar即可,下载地址:
https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/
下载完成jar 包之后,需要运行jar,如下:
下载后放入lib中便于以后使用
右键点击+shift如下:
java -jar zipkin-server-2.12.2-exec.jar
显示如下则成功
访问浏览器 localhost:9411
2、microservice-service-zipkin-hi
(1)、在其pom引入起步依赖spring-cloud-starter-zipkin,代码如下:
xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd”> 4.0.0 com.riemann microservice-sleuth-zipkin 0.0.1-SNAPSHOT com.riemann microservice-service-zipkin-hi 0.0.1-SNAPSHOT microservice-service-zipkin-hi service-zipkin-hi org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-zipkin (2)、在其配置文件application.properties指定zipkin server的地址,通过配置spring.zipkin.base-url指定: 通过引入spring-cloud-starter-zipkin依赖和设置spring.zipkin.base-url就可以了。 (3)、对外暴露接口: package com.riemann.microserviceproviderservicehi; import java.util.logging.Level; import java.util.logging.Logger; import brave.sampler.Sampler; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; @SpringBootApplication @RestController public class MicroserviceProviderServiceHiApplication { public static void main(String[] args) { SpringApplication.run(MicroserviceProviderServiceHiApplication.class, args); } private static final Logger logger = Logger.getLogger(MicroserviceProviderServiceHiApplication.class.getName()); @Autowired private RestTemplate restTemplate; @Bean public RestTemplate getRestTemplate() { return new RestTemplate(); } @RequestMapping(“/hi”) public String callName() { logger.log(Level.INFO,“calling trace microservice-service-zipkin-hi”); return restTemplate.getForObject(“http://localhost:8989/riemann”, String.class); } @RequestMapping(“/info”) public String info() { logger.log(Level.INFO,“calling trace microservice-service-zipkin-hi”); return “I’m microservice-service-zipkin-hi”; } @Bean public Sampler defaultSampler() { return Sampler.ALWAYS_SAMPLE; } } 3、microservice-service-zipkin-riemann (1)、创建过程如同 microservice-service-zipkin-hi 引入相同的依赖,配置下spring.zipkin.base-url。 (2)、对外暴露接口: package com.riemann.microserviceproviderserviceriemann; import brave.sampler.Sampler; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; import java.util.logging.Level; import java.util.logging.Logger; @SpringBootApplication @RestController public class MicroserviceProviderServiceRiemannApplication { public static void main(String[] args) { 自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。 深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。 既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化! 由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新! 如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取) 读者福利 更多笔记分享 《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取! images/e5c14a7895254671a72faed303032d36.jpg" alt=“img” style=“zoom: 33%;” /> 读者福利 [外链图片转存中…(img-jOLeWQmQ-1713393521731)] 更多笔记分享 [外链图片转存中…(img-xUlF1s91-1713393521731)] 《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取! 参考链接
发表评论