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点击打开链接(这个慎看)

原创粉丝点击