个性化阅读
专注于IT技术分析

Spring Cloud将微服务连接到Zipkin示例

在本节中, 我们将连接微服务以将其跟踪消息放在RabbitMQ上。一旦我们将消息放在RabbitMQ上, 它将被Zipkin服务器接收。

让我们将currency-conversion-service, currency-exchange-service和netflix-zuul-api-gateway-server连接到RabbitMQ服务器。

步骤1:打开currency-conversion-service, currency-exchange-service和netflix-zuul-api-gateway-server的pom.xml文件, 并添加以下依赖项:

我们要以其除外的格式创建一条消息。我们需要添加Zipkin依赖项。

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin</artifactId>
</dependency>

我们会将消息发送到使用amqp消息协议的Zipkin。因此, 我们需要添加amqp依赖项。添加amqp的依赖关系后, 我们将RabbitMQ连接到了货币转换服务, 货币交换服务和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 / quantity / 100。它正确返回响应。

但是我们很想知道背景中发生了什么。

步骤3:打开Zipkin UI。它显示了我们已连接到Zipkin的所有三个服务。

将微服务连接到Zipkin

步骤4:从下拉列表中选择任何一项服务, 然后单击Find Traces按钮。我们选择了一种货币兑换服务。它显示了货币转换服务不同执行的列表。

将微服务连接到Zipkin

步骤5:选择其中之一。它显示了服务的整个轨迹。

将微服务连接到Zipkin

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

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

将微服务连接到Zipkin

微服务中最重要的挑战是带来可见性(后台发生的事情)。因此, Zipkin服务器实现了服务的可见性。

点击这里下载货币兑换服务

点击这里下载货币兑换服务

点击这里下载netflix-eureka-naming-server

点击这里下载netflix-zuul-api-gateway-server


赞(0) 打赏
未经允许不得转载:srcmini » Spring Cloud将微服务连接到Zipkin示例
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏