在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

Spring Cloud中Sleuth如何整合Zipkin

128次阅读
没有评论

共计 2878 个字符,预计需要花费 8 分钟才能阅读完成。

这篇文章将为大家详细讲解有关 Spring Cloud 中 Sleuth 如何整合 Zipkin,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Sleuth 整合 ZipkinZipkin 简介

 Zipkin 是一个分布式的跟踪系统,主要用于收集、管理微服务所产生的数据。Zipkin 的设计基于 Google Dapper。在实际应用时,我们需要让各个微服务,向 Zipkin 服务器报告过程数据。对于 Spring Cloud 来说,已经提供了几个??槔词迪质荼ǜ婀δ?,我们仅需要加入依赖,以及做简单配置,即可实现向 Zipkin“写入”数据。

 Zipkin 在得到这些数据后,提供了数据查询、分析的功能,这些图形化的功能,可以让我们对微服务的调用过程、处理时间、依赖关系等数据一目了然。

构建 Zipkin 服务器项目

  启动 Zipkin 服务器,可以选择使用 jar 包的方式,也可以往 Maven 项目中嵌入 Zipkin 服务器。

  使用 jar 包启动,需要先下载 Zipkin 的启动 jar 包,读者可以到 Zipkin 的官方网站下载,地址为:http://zipkin.io/,也可以直接到本书的 soft 目录中下载 zipkin-server-1.31.1-exec.jar。得到 jar 包后,使用“java -jar”命令启动 Zipkin 服务器,成功启动后,默认占用 9411 端口。

  我们也可以在 Maven 项目中嵌入 Zipkin 服务器,为了简单起见,直接结合 Sping Boot 来构建 Zipkin 服务器。新建 zk-server 项目(代码目录为 codes\10\zk-server),项目所使用的依赖请见代码清单 10-1。

代码清单 10-1:codes\10\zk-server\pom.xml

  dependency 
  groupId io.zipkin.java /groupId 
  artifactId zipkin-server /artifactId 
  /dependency 
  dependency 
  groupId io.zipkin.java /groupId 
  artifactId zipkin-autoconfigure-ui /artifactId 
  scope runtime /scope 
  /dependency

  在 application.xml 中,将启动端口配置为 9411,代码清单 10- 2 为启动类。

  代码清单 10-2:codes\10\zk-server\src\main\java\org\crazyit\cloud\ZkServerApp.java

@SpringBootApplication
@EnableZipkinServer
public class ZkServerApp { public static void main(String[] args) { SpringApplication.run(ZkServerApp.class, args);
 }
}

  为启动类加上 @EnableZipkinServer 注解,运行启动类,访问:http://localhost:9411,可以看到 Zipkin 的主界面,如图 10- 3 所示。

图 10-3 Zipkin 主界面

配置微服务

  接下来,需要配置各个微服务,让它们往 Zipkin 服务器写入数据。本章案例主要有 3 个微服务模块:图书、支付、销售。几个??樘峁┝艘韵路瘢?/p>

图书??椋╰est-book-service):提供了图书查询服务,地址为“/book/{bookId}”,返回一个 Book 对象。

支付??椋╰est-pay-service):提供支付服务,地址为“/pay”,没有返回,仅做简单的控制台输出。

销售??椋╰est-sale-service):提供销售服务,地址为“/sale/{bookId}”,会调用图书??楹椭Ц赌?榈慕涌?,销售服务的实现,请见代码清单 10-3。

  代码清单 10-3:

 codes\10\test-sale-service\src\main\java\org\crazyit\cloud\SaleApplication.java

 @RequestMapping(method = RequestMethod.GET, value =  /sale/{bookId} )
 public String sale(@PathVariable( bookId) Integer bookId) {
 System.out.println( 销售模块处理销售 
 //  查找书本
 Book book = bookService.getBook(bookId);
 //  进行支付
 payService.doPay(new BigDecimal(10));
 return  销售成功,书名:   + book.getName() +  ,  作者: + book.getAuthor();
 }

  销售模块调用图书、支付??榻涌?,使用的是 Feign 框架,该框架的使用,读者可参考本书的相关章节,在此不再赘述。

  实现了微服务后,加 3 个??榧尤胍韵乱览担?/p>

  dependency 
  groupId org.springframework.cloud /groupId 
  artifactId spring-cloud-starter-zipkin /artifactId 
  /dependency 
  dependency 
  groupId org.springframework.cloud /groupId 
  artifactId spring-cloud-sleuth-zipkin /artifactId 
  /dependency

  接下来,还要为各个??榕渲?Zipkin 服务器,application.yml 的配置如下:

spring:
 zipkin:
 base-url: http://localhost:9411
 sleuth:
 sampler:
 percentage: 1.0

  在 application.yml 中,使用 spirng.zipkin.base-url 来配置 Zipkin 的服务器,使用 spring.zipkin.sleuth.sampler.percentage 来配置跨度数据的采样百份比,默认值为 0.1,也就是会向 Zipkin 发送约 10% 的跨度数据。本例中为了查看效果,直接配置为 1,也就是全部的跨度数据都会被发送到 Zipkin。在生产环境中,建议还是按照具体的需求进行抽样,以免增加服务器的负载。

  为了能在各个微服务的控制台中看到 Sleuth 的输出,还需要为 3 个微服务配置日志级别,在 application.yml 中加入以下配置:

logging:
 level:
 root: INFO
 org.springframework.cloud.sleuth: DEBUG

关于“Spring Cloud 中 Sleuth 如何整合 Zipkin”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计2878字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 福利视频一区二区 | 欧美性猛交ⅹxxx乱大交妖精 | 亚洲av永久无码一区 | 日本aⅴ精品一区二区三区久久 | 中文字幕在线无码一区二区三区 | 福利片 在线 | 一级黄色片a | 男女性高清爱潮视频免费观看 | 激情综合丁香五月 | 久久激情日本亚洲欧洲国产中文 | 四虎 影院ww9584h | 99热这里有免费国产精品 | 亚洲看片lutube在线观看 | 精品欧洲av无码一区二区三区 | av片在线观看免费 | 一区二区三区精品视频 | 亚洲精品无码久久久久 | 国产精品成人aaaaa网站 | 久久精选视频 | 日本视频免费在线 | 亚洲日韩欧洲无码av夜夜摸 | 美女被狂躁www离线观看视频 | 成人免费毛片网站 | 我要看一级黄色毛片 | 国内精品一区二区 | 清纯唯美亚洲综合欧美色 | 看全色黄大色黄大片毛片 | 国产图片亚洲精品一区 | 欧美人与动牲交zooz3d | 国产精品无码久久av | 国产一区二区福利久久 | 国产成人无码一区二区在线观看 | 国产破处女真实视频 | 最近免费中文字幕大全免费版视频 | 日韩精品亚洲aⅴ在线影院 日韩精品亚洲精品485页 | 白天躁晚上躁麻豆视频 | 日本a级片免费观看 | 一级做a爰全过程免费视频毛片 | a在线观看视频 | 男女作爱免费网站 | 久久国产精品99久久久久久牛牛 |