前面已经完成了Springcloud+sleuth+zipkin的入门,以及kafka的安装。至于ES这里就不在说明了,网上安装使用资料挺多的,这里仅仅是将其作为持久化工具使用。
环境说明
- jdk1.8 server 64位
- intellij IDEA 2017
- springboot 1.5.2.RELEASE
- Springcloud Dalston.SR5
- kafka 2.11-1.0.0
- zookeeper 3.4.10
- elasticsearch 5.6.4
1、启动环境
- 启动zookeeper
- 启动kafka
- 启动elasticsearch
2、创建zipkinserver
在pom.xml中加入如下内容:
<dependencies>
<!--springboot依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--加入zipkin依赖-->
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin</artifactId>
<version>2.4.2</version>
</dependency>
<!--引入zipkin的ES存储-->
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-storage-elasticsearch-http</artifactId>
<version>2.4.2</version>
<optional>true</optional>
</dependency>
<!--引入zipkin的流绑定-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin-stream</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-kafka</artifactId>
</dependency>
</dependencies>
同时在resources中创建application.yml
#配置kafka
spring:
sleuth:
enabled: false
sampler:
percentage: 1.0
cloud:
stream:
kafka:
binder:
brokers: localhost:9092
zkNodes: localhost:2181
#ES配置
zipkin:
storage:
type: elasticsearch
elasticsearch:
host: localhost:9200
cluster: elasticsearch
index: zipkin
index-shards: 1
index-replicas: 1
启动类增加如下注解:
@SpringBootApplication
@EnableZipkinStreamServer//配置可以作为zipkinserver
public class ZipkinServerApplication {
public static void main(String[] args) {
SpringApplication.run(ZipkinServerApplication.class,args);
}
}
启动后可以 在控制台看到kafka的连接信息
3、创建目标服务一
在pom.xml中引入:
<dependencies>
<!--引入springboot-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--引入zipkin绑定-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin-stream</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>