Java分布式跟踪系统Zipkin(六):Brave源码分析-Brave和SpringBoot整合
所有博文均在个人独立博客http://blog.mozhu.org首发,欢迎访问!
Zipkin是用当下最流行的SpringBoot开发的,SpringBoot将Spring项目的开发过程大大简化,一切主流的开发框架都可以通过添加jar包和配置,自动激活,现在越来越受广大Java开发人员的喜爱。
上一篇博文中,我们分析了Brave是如何在SpringMVC项目中使用的,这一篇博文我们继续分析Brave和SpringBoot项目的整合方法及原理。
相关代码在Chapter6/springboot中
pom.xml中添加依赖和插件
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><version>${springboot.version}</version>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>${springboot.version}</version>
</dependency><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><fork>true</fork></configuration>
</plugin>
package org.mozhu.zipkin.springboot;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
@EnableAutoConfiguration
public class DefaultApplication {public static void main(String[] args) {SpringApplication.run(DefaultApplication.class, args);}}
启动Zipkin,然后分别运行
mvn spring-boot:run -Drun.jvmArguments="-Dserver.port=9000 -Dzipkin.service=backend"
mvn spring-boot:run -Drun.jvmArguments="-Dserver.port=8081 -Dzipkin.service=frontend"
浏览器访问 http://localhost:8081/ 会显示当前时间
在Zipkin的Web界面中,也能查询到这次跟踪信息
可见Brave和SpringBoot的整合更简单了,只添加了启动类DefaultApplication,其他类都没变化。至于SpringBoot的原理,这里就不展开了,网上优秀教程一大把。
在brave-instrumentation目录中,还有对其他框架的支持,有兴趣的可以看看其源代码实现。
grpc
httpasyncclient
httpclient
jaxrs2
kafka-clients
mysql
mysql6
p6spy
sparkjava
至此,我们Brave的源码分析即将告一段落,后续我们会逐步zipkin的高级用法及实现原理。
Java分布式跟踪系统Zipkin(六):Brave源码分析-Brave和SpringBoot整合相关推荐
- Java分布式跟踪系统Zipkin(二):Brave源码分析-Tracer和Span
所有博文均在个人独立博客http://blog.mozhu.org首发,欢迎访问! Brave是Java版的Zipkin客户端,它将收集的跟踪信息,以Span的形式上报给Zipkin系统. (Zipk ...
- Java分布式跟踪系统Zipkin(五):Brave源码分析-Brave和SpringMVC整合
所有博文均在个人独立博客http://blog.mozhu.org首发,欢迎访问! 上一篇博文中,我们分析了Brave是如何在普通Web项目中使用的,这一篇博文我们继续分析Brave和SpringMV ...
- 基于JAVA在线学习跟踪系统前台计算机毕业设计源码+系统+mysql数据库+lw文档+部署
基于JAVA在线学习跟踪系统前台计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA在线学习跟踪系统前台计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技术栈: ...
- 基于JAVA智慧校园系统后端计算机毕业设计源码+系统+数据库+lw文档+部署
基于JAVA智慧校园系统后端计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA智慧校园系统后端计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...
- Java的三种代理模式完整源码分析
Java的三种代理模式&完整源码分析 Java的三种代理模式&完整源码分析 参考资料: 博客园-Java的三种代理模式 简书-JDK动态代理-超详细源码分析 [博客园-WeakCach ...
- java中的==、equals()、hashCode()源码分析(转载)
在java编程或者面试中经常会遇到 == .equals()的比较.自己看了看源码,结合实际的编程总结一下. 1. == java中的==是比较两个对象在JVM中的地址.比较好理解.看下面的代码: ...
- Apache Storm 实时流处理系统ACK机制以及源码分析
1.ACK机制简介 Storm的可靠性是指Storm会告知用户每一个消息单元是否在一个指定的时间(timeout)内被完全处理.完全处理的意思是该MessageId绑定的源Tuple以及由该源Tupl ...
- 这篇文章绝对让你深刻理解java类的加载以及ClassLoader源码分析
前言 package com.jvm.classloader;class Father2{public static String strFather="HelloJVM_Father&qu ...
- Java 集合系列(四)—— ListIterator 源码分析
以脑图的形式来展示Java集合知识,让零碎知识点形成体系 Iterator 对比 Iterator(迭代器)是一种设计模式,是一个对象,用于遍历集合中的所有元素. Iterator 包含四个方 ...
最新文章
- 全面分析阿里数据中台,小白也能看懂 | CSDN原力计划
- 调整weblogic内存的分配和使用
- predicate java_java8中predicate的用法介绍(代码示例)
- 【Nodejs篇五】Node js 使用 superagent 与 cheerio 完成简单爬虫
- C#语言-NPOI.dll导入Excel功能的实现
- 如何防止线程死锁java_Java 并发编程:如何防止在线程阻塞与唤醒时死锁
- 计算机大学英语值最高的3项,计算机等级考试一级B上机试题:Windows字处理
- 翻译:图解HTTPS工作原理、秘钥、握手、HTTPS,SSL,TLS的区别、证书
- numpy 1.22.1 基本语法
- 常用的计算机组装工具有,计算机组装维护与常用工具软件考试含答案
- 用Python实现从Oracle到GreenPlum的表结构转换
- QML QtLocation地图应用学习-5:实现自己的plugin加载瓦片地图
- 考研数学常用基础知识默写版
- windows10 安装office2021(预装正版)经验分享
- 成功者根本没有告诉你故事的全部 (转文)
- python类和封装之面向对象反恐精英实战
- Nature计算社会科学特刊:如何对21世纪人类社会进行有意义的度量?
- USB基础书籍资料推荐
- 按条件隐藏bootstrapTable某一列
- python 列表 循环 实现简易的电子商城
热门文章
- marquee的用法,例子
- •Oracle 9i企业版官方下载 9.2.0.1.0
- PCB学习笔记——AD17如何将原理图和PCB图同时显示
- opencv手写数字识别(未完待续...)
- 哈希表链地址法解决冲突
- JavaScript 代码格式化及编写工具
- 交通银行计算机设备实物管理,酷!AI助力交通银行提升风险管理能力
- 川崎机器人总线通信_川崎机器人 | EtherNet/IP安装使用说明
- 东北大学2018计算机录取分数,东北大学分数线2018 各省最新录取分数线
- windows cmd sqlplus访问Oracle数据库显示?胧淙胗没? SP2-0306: ?∠钗扌А?的问题