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

4.8 Eureka的元数据

Eureka的元数据有两种,分别是标准元数据和自定义元数据。

标准元数据指的是主机名、IP地址、端口号、状态页和健康检查等信息,这些信息都会被发布在服务注册表中,用于服务之间的调用。自定义元数据可以使用eureka.instance.metadata-map配置,这些元数据可以在远程客户端中访问,但一般不会改变客户端的行为,除非客户端知道该元数据的含义。

下面笔者通过一个简单的示例,帮助大家更好地理解Eureka的元数据。

4.8.1 改造用户微服务

1.复制项目microservice-provider-user,将ArtifactId修改为microservice-provider-user-my-metadata。

2.修改application.yml,使用eureka.instance.metadata-map属性为该微服务添加应自定义的元数据,如下:

img

4.8.2 改造电影微服务

1.复制项目microservice-consumer-movie,将ArtifactId修改为microservice-consumermovie-understanding-metadata。

2.修改Controller:

img

使用DiscoveryClient.getInstances(serviceId),可查询指定微服务在Eureka上的实例列表。

img

测试

1.启动microservice-discovery-eureka。

2.启动microservice-provider-user-my-metadata。

3.启动microservice-consumer-movie-understanding-metadata。

4.访问 http://localhost:8761/eureka/apps 可查看Eureka的metadata。

5.访问 http://localhost:8010/user-instance ,可以返回类似如下的内容。

img

可以看到,使用DiscoveryClient的API获得了用户微服务的各种信息,其中包括了标准元数据和自定义元数据。例如IP、端口等信息都是标准元数据,用于服务之间的调用;同时,自定义的元数据my-metadata,也可通过客户端查询到,但是并不会改变客户端的行为。 Ptf4kENPQnOhzfVzrCEOMFnvyZwMtj7fBMm1B91zJhQpPgjVtzVafZO5lrD9fne8

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