购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.9 Eureka Server的REST端点

Eureka Server提供了一些REST端点。非JVM的微服务可使用这些REST端点操作Eureka,从而实现注册与发现。事实上,前文所讲的Eureka Client就是一个使用Java编写的、操作这些REST端点的类库。也可分析这些REST端点,编写其他语言的Eureka Client。

表4-1展示了Eureka提供的REST端点,可以使用XML或者JSON与这些端点通信,默认是XML。

表4-1 Eureka的REST端点一览表

img

(续表)

img

4.9.1 示例

4.9.1.1 注册微服务到Eureka Server上

使用REST端点向Eureka Server注册微服务时,需要POST一个符合以下XSD的XML(或JSON)请求体。

img

表4-1中的app ID是应用程序的名称,instanceID是与实例相关联的唯一ID。在AWS环境中,instanceID表示微服务实例的实例ID,在非AWS环境则表示实例的主机名。

img
img
img

下面来使用REST端点注册微服务。

1.启动microservice-discovery-eureka。

2.编写一个符合上面XSD的XML,命名为rest-api-test.xml。

img

3.使用curl命令测试。

img

终端将输出类似如下的内容。

img

此时,查看Eureka Server首页,会发现微服务已经成功注册,如图4-8所示。

img

图4-8 Eureka Server上的微服务列表

4.9.1.2 查看某微服务的所有实例

在浏览器上输入地址 http://localhost:8761/eureka/apps/rest-api-test ,将看到类似如下的内容。

img
img

从中,可以看到此微服务的所有实例,以及实例的详细信息。

4.9.2 注销微服务实例

将上面注册的微服务实例注销。

img

将看到以下输出:

img

事实上,由于rest-api-test这个微服务并不存在,因此Eureka Server过一段时间后也会自动将该微服务注销。

img

●本节仅挑选了两个常用端点进行测试,限于篇幅,其他端点请各位读者自行测试。

●一些语言已有Eureka Client的开源实现,例如Node.js的Eureka Client( https://www.npmjs.com/package/eureka-js-client )。对于其他语言的Eureka Client,读者可在GitHub或其他平台搜索相关实现。

●本书使用的测试工具是cURL,该工具在Windows、Linux、Mac OS等平台均有对应版本。

●读者也可使用其他工具进行测试,例如PostMan等。图4-9是PostMan的测试界面,可使用它可视化地进行测试。

img

图4-9 PostMan测试界面 1wuTJWw9JVQ0ftdUqr+bjnGdo5gI4TTz93uSDCXqcibsevSUb+NPnKhfoW1Ok+Fa

点击中间区域
呼出菜单
上一章
目录
下一章
×