Sidecar原理分析

一 先启动几个微服务
1 启动eureka
2 启动user微服务
3 启动sidecar
4 启动node-service.js
二 访问Eureka Server的路径:http://localhost:8761/eureka/apps/microservice-sidecar-node-service,可获得如下结果

MICROSERVICE-SIDECAR-NODE-SERVICE


DESKTOP-5SDKDG4:microservice-sidecar-node-service:8070

192.168.0.106
MICROSERVICE-SIDECAR-NODE-SERVICE
192.168.0.106
UP
UNKNOWN
8060
443
1

MyOwn


30
90
1530268067983
1530268067983
0
1530268067478


http://DESKTOP-5SDKDG4:8060/
http://DESKTOP-5SDKDG4:8070/info
http://DESKTOP-5SDKDG4:8070/health
microservice-sidecar-node-service
microservice-sidecar-node-service
false
1530268067983
1530268067473
ADDED

从结果可知,注册到Eureka Server上的端口是8060,homePageurl是 http://DESKTOP-5SDKDG4:8060/,恰恰是node-service的端口和首页。因此,注册到Eureka Server上的微服务可使用microservice-sidecar-node-service这个名称请求node-service的接口。
三 由于@EnableSidecar整合了注解@EnableZuulProxy,可尝试访问Sidecar的/routes端点:http://localhost:8070/routes,得到结果如下
{"/microservice-provider-user/**":"microservice-provider-user"}
因此,非JVM微服务可通过Sidecar请求其他注册在Eureka Server的微服务。
四 其他
可尝试将node-service多次启停,并观察Sidecar的/health端点。Sidecar会获取node-service的健康状态,并将状态传播到Eureka Server。使用这种方式,Eureka Server就能感知到非JVM微服务的健康状态。

你可能感兴趣的:(微服务)