Spring Cloud 获取注册中心所有服务以及服务下的所有实例
注册中心现有服务与实例数:

在任意客户端填写如下代码:
/**
* import org.springframework.cloud.client.ServiceInstance;
* import org.springframework.cloud.client.discovery.DiscoveryClient;
*
* 获取每一个服务下面实例
* 测试时,可以使用多个端口启动服务实例
*/
@Autowired
private DiscoveryClient discoveryClient; @GetMapping("/serviceurl")
public Map<String, List<ServiceInstance>> serviceUrl() {
Map<String, List<ServiceInstance>> msl = new HashMap<>();
List<String> services = discoveryClient.getServices();
for (String service : services) {
List<ServiceInstance> sis = discoveryClient.getInstances(service);
msl.put(service, sis);
}
return msl;
}
返回结果:
{
"XXXXX-microservice-testprovider": [
{
"host": "XXX.XXX.XXX.XXX",
"port": 30001,
"metadata": {
"management.port": "30001",
"jmx.port": "54767"
},
"uri": "http://XXX.XXX.XXX.XXX:30001",
"serviceId": "XXXXX-MICROSERVICE-TESTPROVIDER",
"secure": false,
"instanceInfo": {
"instanceId": "XXX.XXX.XXX.XXX:XXXXX-microservice-testprovider:30001",
"app": "XXXXX-MICROSERVICE-TESTPROVIDER",
"appGroupName": null,
"ipAddr": "XXX.XXX.XXX.XXX",
"sid": "na",
"homePageUrl": "http://XXX.XXX.XXX.XXX:30001/",
"statusPageUrl": "http://XXX.XXX.XXX.XXX:30001/info",
"healthCheckUrl": "http://XXX.XXX.XXX.XXX:30001/health",
"secureHealthCheckUrl": null,
"vipAddress": "XXXXX-microservice-testprovider",
"secureVipAddress": "XXXXX-microservice-testprovider",
"countryId": 1,
"dataCenterInfo": {
"@class": "com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo",
"name": "MyOwn"
},
"hostName": "XXX.XXX.XXX.XXX",
"status": "UP",
"leaseInfo": {
"renewalIntervalInSecs": 1,
"durationInSecs": 2,
"registrationTimestamp": 1521525318562,
"lastRenewalTimestamp": 1521525692105,
"evictionTimestamp": 0,
"serviceUpTimestamp": 1521525318562
},
"isCoordinatingDiscoveryServer": false,
"metadata": {
"management.port": "30001",
"jmx.port": "54767"
},
"lastUpdatedTimestamp": 1521525318562,
"lastDirtyTimestamp": 1521525318499,
"actionType": "ADDED",
"asgName": null,
"overriddenStatus": "UNKNOWN"
}
}
],
"XXXXX-microservice-testconsumer": [
{
"host": "XXX.XXX.XXX.XXX",
"port": 30003,
"metadata": {
"management.port": "30003",
"jmx.port": "55025"
},
"uri": "http://XXX.XXX.XXX.XXX:30003",
"serviceId": "XXXXX-MICROSERVICE-TESTCONSUMER",
"secure": false,
"instanceInfo": {
"instanceId": "XXX.XXX.XXX.XXX:XXXXX-microservice-testconsumer:30003",
"app": "XXXXX-MICROSERVICE-TESTCONSUMER",
"appGroupName": null,
"ipAddr": "XXX.XXX.XXX.XXX",
"sid": "na",
"homePageUrl": "http://XXX.XXX.XXX.XXX:30003/",
"statusPageUrl": "http://XXX.XXX.XXX.XXX:30003/info",
"healthCheckUrl": "http://XXX.XXX.XXX.XXX:30003/health",
"secureHealthCheckUrl": null,
"vipAddress": "XXXXX-microservice-testconsumer",
"secureVipAddress": "XXXXX-microservice-testconsumer",
"countryId": 1,
"dataCenterInfo": {
"@class": "com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo",
"name": "MyOwn"
},
"hostName": "XXX.XXX.XXX.XXX",
"status": "UP",
"leaseInfo": {
"renewalIntervalInSecs": 1,
"durationInSecs": 2,
"registrationTimestamp": 1521525777701,
"lastRenewalTimestamp": 1521525781698,
"evictionTimestamp": 0,
"serviceUpTimestamp": 1521525207494
},
"isCoordinatingDiscoveryServer": false,
"metadata": {
"management.port": "30003",
"jmx.port": "55025"
},
"lastUpdatedTimestamp": 1521525777701,
"lastDirtyTimestamp": 1521525777639,
"actionType": "ADDED",
"asgName": null,
"overriddenStatus": "UNKNOWN"
}
},
{
"host": "XXX.XXX.XXX.XXX",
"port": 30002,
"metadata": {
"management.port": "30002",
"jmx.port": "55014"
},
"uri": "http://XXX.XXX.XXX.XXX:30002",
"serviceId": "XXXXX-MICROSERVICE-TESTCONSUMER",
"secure": false,
"instanceInfo": {
"instanceId": "XXX.XXX.XXX.XXX:XXXXX-microservice-testconsumer:30002",
"app": "XXXXX-MICROSERVICE-TESTCONSUMER",
"appGroupName": null,
"ipAddr": "XXX.XXX.XXX.XXX",
"sid": "na",
"homePageUrl": "http://XXX.XXX.XXX.XXX:30002/",
"statusPageUrl": "http://XXX.XXX.XXX.XXX:30002/info",
"healthCheckUrl": "http://XXX.XXX.XXX.XXX:30002/health",
"secureHealthCheckUrl": null,
"vipAddress": "XXXXX-microservice-testconsumer",
"secureVipAddress": "XXXXX-microservice-testconsumer",
"countryId": 1,
"dataCenterInfo": {
"@class": "com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo",
"name": "MyOwn"
},
"hostName": "XXX.XXX.XXX.XXX",
"status": "UP",
"leaseInfo": {
"renewalIntervalInSecs": 1,
"durationInSecs": 2,
"registrationTimestamp": 1521525776047,
"lastRenewalTimestamp": 1521525782150,
"evictionTimestamp": 0,
"serviceUpTimestamp": 1521525776047
},
"isCoordinatingDiscoveryServer": false,
"metadata": {
"management.port": "30002",
"jmx.port": "55014"
},
"lastUpdatedTimestamp": 1521525776047,
"lastDirtyTimestamp": 1521525775985,
"actionType": "ADDED",
"asgName": null,
"overriddenStatus": "UNKNOWN"
}
}
]
}
Spring Cloud 获取注册中心所有服务以及服务下的所有实例的更多相关文章
- Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!
Spring Cloud 的注册中心可以由 Eureka.Consul.Zookeeper.ETCD 等来实现,这里推荐使用 Spring Cloud Eureka 来实现注册中心,它基于 Netfl ...
- IDEA 创建Spring cloud Eureka 注册中心
IDEA 创建Spring cloud Eureka 注册中心 一. 首先创建一个maven project Next之后填好groupId与artifactId,Next之后填好项目名与路径,点击F ...
- Spring Cloud Eureka 注册中心 服务消费者 服务提供者之间的关系以及高可用之间的联系
注册中心:提供服务的注册与查询(发现) 服务提供者:服务的提供方,提供服务的一方. 服务消费者:服务的消费方,使用服务的一方. 我们没有注册中心,服务提供者与服务消费者同样可以调用,通过spring中 ...
- 二、Spring Cloud之注册中心 Eureka
前言 算是正式开始学习 spring cloud 的项目知识了,大概的知道Springcloud 是由众多的微服务组成的,所以我们现在一个一个的来学习吧. 注册中心,在微服务中算是核心了.所有的服务都 ...
- Spring Cloud - Nacos注册中心入门单机模式及集群模式
近几年微服务很火,Spring Cloud提供了为服务领域的一整套解决方案.其中Spring Cloud Alibaba是我们SpringCloud的一个子项目,是提供微服务开发的一站式解决方案. 包 ...
- spring cloud配置注册中心显示服务的ip地址和端口
1.在springcloud中服务的 Instance ID 默认值是: ${spring.cloud.client.hostname}:${spring.application.name}:${sp ...
- Spring Cloud之注册中心搭建
一.注册中心服务端搭建 1)引入相关Maven坐标 <dependency> <groupId>org.springframework.cloud</groupId> ...
- Spring Cloud Eureka注册中心(快速搭建)
Spring Cloud 详解Eureka注册中心@(微服务)[java|spring-cloud|eureka] Eureka 注册中心是入门Spring Cloud微服务架构的必学组件,是学习所有 ...
- Spring Cloud 中注册中心Eureka客户端配置
注册中心配置客户端(注册一个虚拟的商品服务) 一.新建项目: 1.创建一个SpirngBoot应用,增加服务注册和发现依赖 2.模拟商品信息,存储在内存中 3.开发商品列表接口 ...
随机推荐
- mysql查询今天、昨天、本周、本月、上一月 、今年数据
mysql数据库中的关于查询日期的一些操作如下: --今天 select * from 表名 where to_days(时间字段名) = to_days(now()); --昨天 --本周 SELE ...
- Matlab之视角旋转函数[转]
Matlab中有两个视角旋转函数:view和rotate,下面详细介绍: view: 一: view(az,el):az是方位角,el是仰角,单位均是度.具体: 以x轴从左到右(即从小到大)平行放置在 ...
- databus编译:Could not resolve all dependencies for configuration ':databus2-relay:databus2-event-producer-mock:compile
FAILURE: Build failed with an exception. * What went wrong: Could not resolve all dependencies for c ...
- 解决git pull时出现的几个问题
第1个问题: 解决GIT代码仓库不同步 今天在执行git pull时出现: 解决方法:执行git checkout -f,然后再执行git pull重新checkout 再执行git pull时就可以 ...
- sqlserver自定义函数与存储过程的区别 实例详解
分享下sql server自定义函数与存储过程的区别,一起来学习下. 一.自定义函数: 1. 可以返回表变量 2. 限制颇多,包括 不能使用output参数: 不能用临时表: 函数内部的操作不能影响到 ...
- Atitit 切入一个领域的方法总结 attilax这里,机器学习为例子
Atitit 切入一个领域的方法总结 attilax这里,机器学习为例子 1.1. 何为机器学习?1 1.2. 两类机器学习算法 :监督式学习(Supervised Learning)和非监督式学习( ...
- [svc]ext4文件删除&访问原理
文件名信息存放在哪里? LINUX的文件名是存在父目录的block里面,并指向这个文件的inode节点,这个文件的inode节点再标记指向存放这个文件的block的数据块.我们删除一个文件,实际上并不 ...
- 【Unity】11.5 物理材质 (Physics Material)
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 物理材质 (Physics Material) 用于调整碰撞对象的摩擦力和反弹效果. 二.创建物理材质 要创建物理材质 ...
- 【Unity】7.5 移动设备输入
分类:Unity.C#.VS2015 创建日期:2016-04-21 一.简介 在iOS和Android系统中,操作都是通过触摸来完成的.Input类中对触摸操作的方法或变量如下图所示: 通过GetT ...
- nginx.conf中关于nginx-rtmp-module配置指令详解
译序:截至 Jul 8th,2013 官方公布的最新 Nginx RTMP 模块 nginx-rtmp-module 指令详解.指令Corertmp语法:rtmp { ... }上下文:根描述:保存所 ...