SpringCloud获取Eureka中服务的注册信息

Eureka

  在Eureka中,其核心的概念主要有如下几个:

  • 服务注册(Register)

  当Eureka客户端向Eureka服务注册器注册时,它提供自身的元数据,比如IP地址、端口等信息。

  • 服务续约(Renew)

  在服务续约中,Eureka客户端会每隔30秒发送一次心跳来进行服务续约。通过续约来告知Eureka服务器该客户端仍然存在,希望服务器不要剔除自己。

  • 服务下线(Cancel)

  Eureka客户端在程序关闭时想Eureka服务器发送取消请求。发送请求后,该客户端实例信息将从服务器的实例注册列表中删除。

  • 服务剔除(Eviction)

  在默认的情况下,当Eureka客户端连续90秒没有像Eureka服务器发送服务续约的心跳(Heartbeat),Eureka服务器就会将该服务实例从服务注册列表中删除,即剔除该服务。

  • 获取服务注册列表信息(Fetch Registries)

  Eureka客户端从Eureka服务器获取服务注册列表信息,并将其缓存到本地。客户端会使用该信息查找其他服务,从而进行远程调用。该注册列表信息定期(每隔30秒)更新一次。每次返回的注册列表信息可能与Eureka客户端的缓存信息有所不同,Eureka客户端会自动处理两者之间的差异。

获取Eureka中的注册信息

通过URL的方式获取服务的注册信息

  这种方式比较简单,比如说我们现在有一个本地的Eureka服务器,其端口号为8761,当我们想获取其中所注册的服务信息时,我们只需要访问下面的地址:

http://localhost:8761/eureka/apps

  其展示的结果为:

在这里插入图片描述

  当我们想访问其中的product-service服务时,此时我们应该访问下面的地址:

http://localhost:8761/eureka/apps/product-service

  其展示的结果为:

在这里插入图片描述

使用DiscoveryClient获取服务的注册信息

  尽管说通过Eureka提供的管理界面和HTTP端点可以获取服务的详细信息,但是这还远远不够。在现实应用中,很多时候我们希望通过代码在运行时能够实时获取注册中心的服务列表。

  在Eureka的客户端,我们通过Eureka提供的DiscoveryClient工具类就可以获取Eureka中注册的服务信息。

源码

  EurekaController

package com.lyc
  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值