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的所有三个服务。

将微服务连接到Zipkin

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

将微服务连接到Zipkin

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

将微服务连接到Zipkin

在如上图所示,当我们调用 currency-converter-feign 时,请求首先转到 API网关,然后API网关将请求发送到 currency -exchange-service。

我们还可以查看服务的详细信息。在下图中,我们显示了 currency-exchange-service的详细信息。

将微服务连接到Zipkin

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

下一章:SpringCloud Hystrix

Hystrix的容错能力微服务必须非常可靠,因为它们彼此依赖。微服务架构包含大量的小型微服务。这些微服务相互通信以便满足其需求。微服务的实例可能会频繁地上下波动。 随着微服务之间交互次数的增加,系统中 ...