SpringCLoud Zipkin连接



SpringCLoud Zipkin连接

将微服务连接到Zipkin

在本节中,我们将连接微服务以将其跟踪消息放在RabbitMQ上。一旦我们将邮件放在RabbitMQ上,Zipkin服务器就会将其提取。
让我们连接
currency-conversion-service,currency-exchange-service,
netflix-zuul-api-gateway-server 到RabbitMQ服务器。
步骤1: 打开
pom.xml
currency-conversion-service,currency-exchange-service 文件和
netflix-zuul-api-gateway-server 文件并添加以下依赖项:
我们要以其除外的格式创建一条消息。我们需要添加
Zipkin 依赖项。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin</artifactId>
</dependency>

我们将使用
amqp 消息协议将消息发送到Zipkin。因此,我们需要添加
amqp 依赖项。添加amqp的依赖关系后,我们将RabbitMQ连接到
currency-conversion-service,currency-exchange-service
netflix-zuul-api-gateway-server
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>

现在,我们将尝试一起运行所有服务。

使用Zipkin UI仪表板跟踪请求

在此步骤中,我们将触发一个要求。但是在发出请求之前,请确保
五个服务运行正常。我们必须按以下顺序运行这五个服务。否则,我们将获得错误或错误的响应。
步骤1: 按以下列出的顺序运行以下服务。

NetflixEurekaNamingServerApplication.java
ZipkinDistributedTracingServerApplication (从命令提示符运行)
CurrencyExchangeServiceApplication.java (在端口8000上)
CurrencyConversionServiceApplication.java (在端口8100上)
NetflixZuulApiGatewayServerApplication.java

记住: 请确保所有五个应用程序都正常运行。
步骤2: 调用请求 http://localhost:8100/currency-converter-feign/from/EUR/to/INR/数量/100 。
但是我们有兴趣知道后台发生了什么。
步骤3: 打开Zipkin UI。它显示了我们已连接到Zipkin的所有三个服务。

SpringCLoud Zipkin连接_https://bianchenghao6.com_【SpringCloud 教程】_第1张

步骤4: 从下拉列表中选择任何
一项服务,然后点击
查找痕迹按钮。我们选择了
currency-conversion-service。 它显示
currency-conversion-service的不同执行的列表。

SpringCLoud Zipkin连接_https://bianchenghao6.com_【SpringCloud 教程】_第2张

步骤5: 。选择其中任何一个。它显示了服务的整个跟踪。

SpringCLoud Zipkin连接_https://bianchenghao6.com_【SpringCloud 教程】_第3张

在如上图所示,当我们调用
currency-converter-feign 时,请求首先转到
API网关,然后API网关将请求发送到
currency -exchange-service。
我们还可以查看服务的详细信息。在下图中,我们显示了
currency-exchange-service的详细信息。

SpringCLoud Zipkin连接_https://bianchenghao6.com_【SpringCloud 教程】_第4张

微服务中最重要的挑战是提高可见性(后台发生了什么)。因此,Zipkin服务器启用了服务的可见性。