且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Spring Boot 2.5.6 API网关+Eureka服务器=404

更新时间:2022-10-20 07:57:14

做一些网关服务测试。我注意到了一些奇怪的事情:

我已经列出了网关上的服务:

GatewayServerApplication

@EnableEurekaClient
@EnableDiscoveryClient
@SpringBootApplication
public class GatewayServerApplication implements CommandLineRunner {
    @Autowired
    private DiscoveryClient discoveryClient;

    public static void main(String[] args) {
        SpringApplication.run(GatewayServerApplication.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
        System.out.println("LIST INSTANCES");
        List<String> list = discoveryClient.getServices();

        list.forEach(item -> {
            System.out.println("Service: " + item);
            List<ServiceInstance> instances = this.discoveryClient.getInstances(item);
            instances.forEach(instance -> {
                System.out.println("URI: " + instance.getUri());
                System.out.println("HOST: " + instance.getHost());
                System.out.println("PORT: " + instance.getPort());
                System.out.println("INSTANCE ID: " + instance.getInstanceId());
                System.out.println("SERVICE ID: " + instance.getServiceId());
            });
        });
    }
}


2021-11-13 09:24:35.633  INFO 1547 --- [           main] b.c.f.gateway.GatewayServerApplication   : Started GatewayServerApplication in 3.576 seconds (JVM running for 4.419)
LIST INSTANCES
Service: my-service
URI: http://192.168.0.103:8761
HOST: 192.168.0.103
PORT: 8761
INSTANCE ID: mbp-of-rafael:MY-SERVICE:4001
SERVICE ID: MY-SERVICE
URI和端口定义为8761(eureka服务器端口)。但我想应该是4001(我的服务港)。我说错了吗?!