一 介绍
Eureka的元数据有两种:标准元数据和自定义元数据。
标准元数据:主机名、IP地址、端口号、状态页和健康检查等信息,这些信息都会被发布在服务注册表中,用于服务之间的调用。
自定义元数据:可以使用eureka.instance.metadata-map配置,这些元数据可以在远程客户端中访问,但是一般不改变客户端行为,除非客户端知道该元数据的含义。
二 改造用户微服务的application.yml
server:port: 8000
spring:application:name: microservice-provider-userjpa:generate-ddl: falseshow-sql: truehibernate:ddl-auto: nonedatasource:                           # 指定数据源platform: h2                        # 指定数据源类型schema: classpath:schema.sql        # 指定h2数据库的建表脚本data: classpath:data.sql            # 指定h2数据库的数据脚本
logging:                                # 配置日志级别,让hibernate打印出执行的SQLlevel:root: INFOorg.hibernate: INFOorg.hibernate.type.descriptor.sql.BasicBinder: TRACEorg.hibernate.type.descriptor.sql.BasicExtractor: TRACE
eureka:client:serviceUrl:defaultZone:http://localhost:8761/eureka/instance:prefer-ip-address: truemetadata-map:my-metadata: 我自定义的元数据       # 自定义的元数据,key/value都可以随便写。
三 改造电影微服务的Controller
package com.itmuch.cloud.study.user.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;import com.itmuch.cloud.study.user.entity.User;@RestController
public class MovieController {@Autowiredprivate RestTemplate restTemplate;@Autowiredprivate DiscoveryClient discoveryClient;@GetMapping("/user/{id}")public User findById(@PathVariable Long id) {return this.restTemplate.getForObject("http://localhost:8000/" + id, User.class);}/*** 查询microservice-provider-user服务的信息并返回* @return microservice-provider-user服务的信息*/@GetMapping("/user-instance")public List<ServiceInstance> showInfo() {return this.discoveryClient.getInstances("microservice-provider-user");}
}
使用DiscoveryClient.getInstances(serviceId),可查询指定微服务在Eureka上的实例列表。
四 测试
1 先启动microservice-discovery-eureka、microservice-consumer-movie-understanding-metadata、microservice-provider-user-my-metadata
2 访问http://localhost:8761/eureka/apps
3 访问 http://localhost:8010/user-instance
可以看到,使用DiscoveryClient的API获得了用户微服务的各种信息,其中包括了标准元数据和自定义元数据。例如IP、端口等信息都是标准元数据,用于服务之间的调用;同时,自定义元数据my-metadata,也可通过客户端查询到,但是并不会改变客户端的行为。

Eureka的元数据相关推荐

  1. SpringCloud(一):深入理解Eureka

    实例和客户端的元数据 Eureka Metadata for Instances and Clients 0.Eureka的元数据字面理解 原文: It is worth spending a bit ...

  2. 【学习笔记】Eureka服务治理代码实例、相关配置和原理机制详解

    文章目录 代码示例 启动一个服务注册中心 注册服务提供者 高可用注册中心 服务的发现与消费 Eureka的一些配置 服务注册类配置 服务实例类配置 实例名配置 端点配置 Eureka服务治理基础架构原 ...

  3. Spring Cloud部分源码分析Eureka,Ribbon,Feign,Zuul

    Eureka SpringCloud Eureka使用NetFlix Eureka来实现的,它包括了服务端组件和客户端组件,并且都是用java 编写的. Eureka服务端就是服务注册中心, Eure ...

  4. SpringCloud 将服务注册到Eureka Server上

    提供好服务生产者: 1.添加spring-cloud-starter-eureka依赖 <dependencyManagement><dependencies><depe ...

  5. 04_服务注册Eureka

    一.服务注册Eureka基础 1. 微服务的注册中心 注册中心可以说是微服务架构中的"通讯录",它记录了服务和服务地址的映射关系.在分布式架构中, 服务会注册到这里,当服务需要调用 ...

  6. eureka使用总结

    目录 Eureka常用配置 Eureka 单节点搭建 eureka多节点 服务注册的配置选项 Eureka单独使用 Rest服务调用 /eureka/status 服务状态 注册到eureka的服务信 ...

  7. SpringCloud——Eureka注册中心搭建

    Eureka原理 eureka来源于古希腊词汇,意为"发现了" eureka分为两部分,Server端和Client端 Register 服务注册 想要参与服务注册发现的实例首先需 ...

  8. apollo集群部署_ribbon+apollo实现灰度发布

    一.前言 在一般情况下,升级服务器端应用,需要将应用源码或程序包上传到服务器,然后停止掉老版本服务,再启动新版本.但是这种简单的发布方式存在两个问题,一方面,在新版本升级过程中,服务是暂时中断的,另一 ...

  9. Spring Cloud源码分析(二)Ribbon

    断断续续看Ribbon的源码差不多也有7-8天了,总算告一段落.本文记录了这些天对源码的阅读过程与一些分析理解,如有不对还请指出. 友情提示:本文较长,请选择一个较为舒适的姿势来阅读 在之前介绍使用R ...

  10. 深入分析Ribbon源码分析

    本文来分析下Ribbon源码 文章目录 Ribbon源码分析 负载均衡器 AbstractLoadBalancer BaseLoadBalancer DynamicServerListLoadBala ...

最新文章

  1. iOS Storyboard创建APP 的国际化操作
  2. 20161011L04-03老男孩linux运维实战培训-Linux系统的用户和用户组管理-01
  3. WCF跨域 这可能是由于试图以跨域方式访问服务而又没有正确的跨域策略,或策略不适用于 SOAP...
  4. cf 1512 E. Permutation by Sum
  5. 海天食品的java开发工作如何_再三个月就秋招了,我想找一份java开发工作,现在应该怎么准备一下?...
  6. Java笔记-Spring-rabbitmq中设置receiveMessage参数为Message
  7. 学习:MOSS2007 实现单点登陆(转)
  8. 【联系】—— Beta 分布与二项分布、共轭分布
  9. .NET简谈互操作(三:基础知识之DllImport特性)
  10. EXCEl快速删除大量空白行
  11. 利用用户自己的server、tomcat下的解决iOS7.1企业应用无法安装应用程序 由于证书无效的问题...
  12. android 反编译及二次打包详细步骤
  13. php adodb 统计,php之adodb简介
  14. 以下选项中不是具体的python序列类型是_智慧树知到《大数据分析的python基础》章节测试答案...
  15. rlm sql mysql.so_安装freeradius
  16. c语言判断算符优先级,C语言算符优先级(精华)
  17. 【笔记】运营如何追求极致--混沌大学(抖音分享)
  18. jquery—addClass方法和removeClass方法
  19. ECCV2022论文列表(中英对照)
  20. 认知偏差手册(67种认知偏差)

热门文章

  1. 2021年上半年数据库系统工程师下午真题及答案解析
  2. html期末作业代码网页设计——代码质量好-宠物网(8页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码
  3. IntelliJ IDEA安卓开发环境搭建
  4. UML教程8:构件图 部署图 附录
  5. 如何复制百度文库中的内容
  6. 韦东山嵌入式Linux学习——015 Nand Flash(2)-Nand Flash编程实现读地址信息
  7. 淘淘商城项目问题总览
  8. hadoop保姆级安装教程
  9. 【Python】实例3:天天向上的力量与微实例:星期转换、恺撒密码
  10. echarts 柱状图 横坐标文字纵向展示(超出显示...)