您的位置:首页 > 编程语言 > Java开发

Spring Cloud搭建微服务架构----使用Zipkin做服务链路追踪

2017-04-25 00:00 1001 查看
摘要: 微服务的特点是通过简单的服务代码单元构建一个具有庞大生命力的分布式系统,往往一个API请求可能会通过内部调用多个服务完成,任何一个接口出现问题都可能会影响整个链路的稳定,所以一个服务链路追踪系统的搭建非常有必要。

实例主要有三个工程组成:

Server-zipkin:通过ZipkinServer功能,实现收集调用数据,展示;

Service1:对外暴漏的服务接口;

Service2:对外暴漏的服务接口;

两个服务可以相互调用,服务相互调用之后可以通过Service-Zipkin收集数据进行链路追踪。

Zipkin-Server

POM:

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
</dependency>
</dependencies>

Service01,Service02

POM:

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
</dependencies>

properties:

spring.application.name=service-01
server.port=7001

spring.zipkin.base-url=http://localhost:9400  #zipkin地址

应用互相调用:

@RequestMapping(value = "/api", method = RequestMethod.GET)
public String api() {
return restTemplate.getForEntity(
"http://localhost:7002/hi",
String.class).getBody();
}


通过:http://10.168.12.25:9400/dependency 查看服务引用;

代码实例

https://github.com/zhangcj/easymall/tree/master/springbootdemo/springbootdemo-zipkin
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐