Zipkin
来源:互联网 发布:linux文件权限第三段 编辑:程序博客网 时间:2024/06/05 15:00
首先建立一个zipkin server可以用springboot或者jar包都行。
springboot:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.6.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- https://mvnrepository.com/artifact/io.zipkin.java/zipkin-server --> <dependency> <groupId>io.zipkin.java</groupId> <artifactId>zipkin-server</artifactId> <version>1.28.1</version> </dependency> <!-- https://mvnrepository.com/artifact/io.zipkin.java/zipkin-autoconfigure-ui --> <dependency> <groupId>io.zipkin.java</groupId> <artifactId>zipkin-autoconfigure-ui</artifactId> <version>1.28.1</version> </dependency> </dependencies>
@SpringBootApplication@EnableZipkinServerpublic class ZipkinServerStarter { public static void main(String[] args) { SpringApplication.run(ZipkinServerStarter.class, args); }}
启动,走你。。。。
--------------------------------------------假装自己是分割线-------------------
client端:(两种)
一、springcloud:(RestTemplet)
导包:
compile('org.springframework.cloud:spring-cloud-starter-sleuth')compile('org.springframework.cloud:spring-cloud-sleuth-zipkin')
配置:spring.zipkin.base-url=http://zipkin-server:9411
走你。。。。
二、brave:
导包:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.6.RELEASE</version> </parent> <!-- https://mvnrepository.com/artifact/io.zipkin.brave/brave-core --> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>io.zipkin.brave</groupId> <artifactId>brave-core</artifactId> <version>3.9.0</version> </dependency> <!-- https://mvnrepository.com/artifact/io.zipkin.brave/brave-http --> <dependency> <groupId>io.zipkin.brave</groupId> <artifactId>brave-http</artifactId> <version>3.9.0</version> </dependency> <dependency> <groupId>io.zipkin.brave</groupId> <artifactId>brave-spancollector-http</artifactId> <version>3.9.0</version> </dependency> <dependency> <groupId>io.zipkin.brave</groupId> <artifactId>brave-web-servlet-filter</artifactId> <version>3.9.0</version> </dependency> <dependency> <groupId>io.zipkin.brave</groupId> <artifactId>brave-okhttp</artifactId> <version>3.9.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.13</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.1</version> </dependency> </dependencies>
prop类:
@Configuration@ConfigurationProperties(prefix = "com.zipkin")public class ZipkinProperties { private String serviceName; private String url; private int connectTimeout; private int readTimeout; private int flushInterval; private boolean compressionEnabled; public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public int getConnectTimeout() { return connectTimeout; } public void setConnectTimeout(int connectTimeout) { this.connectTimeout = connectTimeout; } public int getReadTimeout() { return readTimeout; } public void setReadTimeout(int readTimeout) { this.readTimeout = readTimeout; } public int getFlushInterval() { return flushInterval; } public void setFlushInterval(int flushInterval) { this.flushInterval = flushInterval; } public boolean isCompressionEnabled() { return compressionEnabled; } public void setCompressionEnabled(boolean compressionEnabled) { this.compressionEnabled = compressionEnabled; } public String getServiceName() { return serviceName; } public void setServiceName(String serviceName) { this.serviceName = serviceName; }}
注册Bean:
@Configurationpublic class ZipkinConfig { @Autowired private ZipkinProperties properties; @Bean public SpanCollector spanCollector() { HttpSpanCollector.Config config = HttpSpanCollector.Config.builder().connectTimeout(properties.getConnectTimeout()).readTimeout(properties.getReadTimeout()) .compressionEnabled(properties.isCompressionEnabled()).flushInterval(properties.getFlushInterval()).build(); return HttpSpanCollector.create(properties.getUrl(), config, new EmptySpanCollectorMetricsHandler()); } @Bean public Brave brave(SpanCollector spanCollector){ Brave.Builder builder = new Brave.Builder(properties.getServiceName()); //指定state builder.spanCollector(spanCollector); builder.traceSampler(Sampler.ALWAYS_SAMPLE); Brave brave = builder.build(); return brave; } @Bean public BraveServletFilter braveServletFilter(Brave brave){ BraveServletFilter filter = new BraveServletFilter(brave.serverRequestInterceptor(),brave.serverResponseInterceptor(),new DefaultSpanNameProvider()); return filter; } @Bean public OkHttpClient okHttpClient(Brave brave){ OkHttpClient client = new OkHttpClient.Builder() .addInterceptor(new BraveOkHttpRequestResponseInterceptor(brave.clientRequestInterceptor(), brave.clientResponseInterceptor(), new DefaultSpanNameProvider())) .build(); return client; }}
配置文件:
com.zipkin.serviceName=service1com.zipkin.url=http://110.173.14.57:9411com.zipkin.connectTimeout=6000com.zipkin.readTimeout=6000com.zipkin.flushInterval=1com.zipkin.compressionEnabled=trueserver.port=8080
稳妥,走你。。。
参考如下:
http://blog.csdn.net/liaokailin/article/details/52077620点击打开链接
http://www.jianshu.com/p/7cedbbc3d0fa点击打开链接
https://yq.aliyun.com/articles/60165点击打开链接
http://blog.csdn.net/weiker12/article/details/53153438点击打开链接(这个慎看)
阅读全文
0 0
- zipkin
- Zipkin
- zipkin
- zipkin
- Zipkin资源
- ZIPKIN 学习
- SpringCloud Zipkin
- zipkin php client调研
- Zipkin分布式任务追踪
- zipkin 和 brave 使用
- 分布式跟踪系统:Zipkin
- Zipkin分布式任务追踪
- zipkin 学习笔记
- Java分布式跟踪系统Zipkin(一):初识Zipkin
- 分布式跟踪系统—Zipkin
- 全链路spring cloud sleuth+zipkin
- htrace-zipkin与hbase集成
- htrace-zipkin与hadoop集成
- 包含复杂类型的对象转换json
- BitSet保存用户属性小例子
- android studio快捷键
- 题目1002:Grading
- C++实现学生信息及成绩处理系统(面向对象的程序设计思想)
- Zipkin
- Android&Java内存泄露和内存溢出的区别及解析
- 调通sina33m下的GC0308(分色排版)V1.0
- App升级后自启动方案
- echarts中的地图实战记录(一)
- 计算机图形学 学习笔记(十):曲线曲面(二):Bezier 曲线与曲面
- 关于float的自动换行问题
- Surfaceview的绘制与应用
- APP被强杀,怎么办?