• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

SpringCloud整合分布式服务跟踪zipkin的实现

java 搞代码 4年前 (2022-01-05) 16次浏览 已收录 0个评论

这篇文章主要介绍了SpringCloud整合分布式服务跟踪zipkin的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1、zipkin

zipkin是Twitter的一个开源项目,它基于Google Dapper实现。我们可以使用它来收集各个服务器上请求链路的跟踪数据,并通过它提供的REST API接口来辅助我们查询跟踪数据以实现对分布式系统的监控程序,从而及时地发现系统中出现的延迟升高问题并找出系统性能瓶颈的根源。除了面向开发的API接口之外,它也提供了方便的UI组件来帮助我们直观的搜索跟踪信息和分析请求链路明细,比如:可以查询某段时间内各用户请求的处理时间等。

zipkin的架构图如下:

由上面的架构图可以看出,zipkin有四个核心组件:

  • Collector:收集器组件,它主要用于处理从外部系统发送过来的跟踪信息,将这些信息转换为zipkin内部处理的Span格式,以支持后续的存储、分析、展示等功能。
  • Storage:存储组件,它主要对处理收集器接收到的跟踪信息,默认会将这些信息存储在内存中,我们也可以修改此存储策略,通过使用其他存储组件将跟踪信息存储到数据库中,目前支持的数据库有Mysql、Cassandra和Elasticsearch。
  • API:API组件,提供给UI组件,展示跟踪信息。
  • UI:UI组件,基于API组件实现的上层应用。通过UI组件用户可以方便而有直观地查询和分析跟踪信息。

2、构建zipkin-server

目前最新版的zipkin-server,是直接到官网获取最新可执行的jar,然后直接运行该jar文件,例如:

 curl -sSL https://zipkin.io/quickstart.sh | bash -s java -jar zipkin.jar

也可以用docker启动,在此通过docker来启动zipkin-server服务。

由于在此存储组件使用Elasticsearch,所以先通过docker将Elasticsearch启动,执行如下命令:

 docker run -d -p 9200:9200 --name es elasticsearch:6.6.0

如果在启动elasticsearch的时候出现如下错误:

 [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

可以先执行如下命令解决:

 sysctl -w vm.max_map_count=262144

接下来,启动zipkin-server服务,执行如下命令:

 docker run -d -e STORAGE_TYPE=elasticsearch -e ES_HOSTS=192.168.208.134:9200 -p 9411:9411 --name zipkin openzipkin/zipkin:2.12.1

通过浏览器打开http://192.168.208.134:9411页面,如果出现如下界面,则表示zipkin-server服务启动成功了:

 

3、微服务集成zipkin

在原来微服务的pom文件中,添加

来源gao!%daima.com搞$代*!码网

如下的依赖:

  org.springframework.cloudspring-cloud-starter-sleuth org.springframework.cloudspring-cloud-starter-zipkin

然后在application.yml文件需要新增如下配置:

 spring: zipkin: base-url: http://192.168.208.134:9411 sleuth: sampler: percentage: 1

其中spring.sleuth.sampler.percentage表示收集跟踪信息的比例,1表示全部收集,它的值的范围是0-1之间的。

4、部署zipkin-dependencies

由于新版本当中,如果需要查看各个微服务之间的依赖关系,则必需要部署zipkin-dependencies,此处还是通过docker来部署,由于zipkin-dependencies运行一次就会结束,所以可以让其每小时运行一次,即:

 docker run -e STORAGE_TYPE=elasticsearch -e ES_HOSTS=192.168.208.134:9200 openzipkin/zipkin-dependencies:2.0.4 sh -c 'crond -f'

5、参考资料

https://github.com/openzipkin/docker-zipkin

https://github.com/openzipkin/docker-zipkin-dependencies

以上就是SpringCloud整合分布式服务跟踪zipkin的实现的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:SpringCloud整合分布式服务跟踪zipkin的实现

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址