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

这篇博客介绍了如何在Spring Cloud应用中获取注册中心的所有服务及其实例数量。通过示例代码展示了具体实现过程。
摘要由CSDN通过智能技术生成

注册中心现有服务与实例数:

 

在任意客户端填写如下代码:

/**
 * 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",
          
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值