📅  最后修改于: 2021-01-11 02:38:46             🧑  作者: Mango
在本节中,我们将连接微服务以将其跟踪消息放在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依赖项。
org.springframework.cloud
spring-cloud-sleuth-zipkin
我们会将消息发送到使用amqp消息协议的Zipkin。因此,我们需要添加amqp依赖项。添加amqp的依赖关系,我们将RabbitMQ连接到currency-conversion-service,currency-exchange-service和netflix-zuul-api-gateway-server 。
org.springframework.cloud
spring-cloud-starter-bus-amqp
现在,我们将尝试一起运行所有服务。
在这一步中,我们将触发一个请求。但是在发出请求之前,请确保五个服务运行正常。我们必须按以下顺序运行这五个服务。否则,我们会得到错误或错误的响应。
步骤1:按照我们列出的顺序运行以下服务。
切记:确保所有五个应用程序都正确运行。
步骤2:调用请求http:// localhost:8100 / currency-converter-feign / from / EUR / to / INR / quantity / 100 。它正确返回响应。
但是我们很想知道背景中发生了什么。
步骤3:打开Zipkin UI。它显示了我们已连接到Zipkin的所有三个服务。
步骤4:从下拉列表中选择任何一项服务,然后单击Find Traces按钮。我们选择了一种货币兑换服务。它显示了不同货币兑换服务执行的列表。
步骤5:选择其中任何一个。它显示了服务的整个轨迹。
在上图中,当我们调用currency-converter-feign时,请求首先到达API网关,然后API Gateway将请求发送到currency-exchange-service。
我们还可以看到服务的详细信息。在下图中,我们显示了currency-exchange-service的详细信息。
微服务中最重要的挑战是带来可见性(后台发生的事情)。因此,Zipkin服务器实现了服务的可见性。