企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
如果多个微服务都注册到同一个 Eureka Server 中心,则任何一个微服务都可以看到自身和其他微服务的注册信息。 <br/> 目前我在注册中心 eureka7001 注册了三个微服务,通过下面的代码可以获取所有已注册的微服务信息。 <br/> **1. 在微服务启动类上标记注解`@EnableDiscoveryClient`开启服务发现** ```java @EnableDiscoveryClient @SpringBootApplication public class Payment8001Application { public static void main(String[] args) { SpringApplication.run(Payment8001Application.class, args); } } ``` **2. 获取所有已注册微服务基本信息** ```java @RestController public class MicServerDetailController { @Autowired private EurekaClient discoveryClient; @GetMapping("/micDetail") public void micDetail() { discoveryClient.getApplications().getRegisteredApplications().stream().forEach(app -> { System.out.println("[微服务名称]: " + app.getName()); app.getInstances().stream().forEach(ins -> { System.out.println("\n[微服务实例id]: " + ins.getInstanceId()); System.out.println("[addr]: " + ins.getIPAddr() + ":" + ins.getPort()); }); }); } } ``` ``` [微服务名称]: ASSEMB-SERVER-PAYMENT [微服务实例id]: assemb-server-payment8003 [addr]: 192.168.1.12:8003 [微服务实例id]: assemb-server-payment8002 [addr]: 192.168.1.12:8002 [微服务实例id]: assemb-server-payment8001 [addr]: 192.168.1.12:8001 ```