连接节点应用程序时zuul异常

时间:2019-02-11 11:47:01

标签: node.js microservices netflix-eureka netflix-zuul api-gateway

我的节点应用程序已在eureka中注册,但是我在api网关中遇到以下异常。我正在使用eureka-js-client节点模块。

  

原因:java.lang.RuntimeException:java.net.UnknownHostException:utility-api:重试

at rx.exceptions.Exceptions.propagate(Exceptions.java:58) ~[rxjava-1.1.10.jar!/:1.1.10]


at rx.observables.BlockingObservable.blockForSingle(BlockingObservable.java:465) ~[rxjava-1.1.10.jar!/:1.1.10]


at rx.observables.BlockingObservable.single(BlockingObservable.java:342) ~[rxjava-1.1.10.jar!/:1.1.10]


at com.netflix.client.AbstractLoadBalancerAwareClient.executeWithLoadBalancer(AbstractLoadBalancerAwareClient.java:117) ~[ribbon-loadbalancer-2.2.2.jar!/:2.2.2]


... 156 common frames omitted

由以下原因引起:java.net.UnknownHostException:Utility-api:重试

at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method) ~[na:1.8.0_111-internal]


at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928) ~[na:1.8.0_111-internal]


at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323) ~[na:1.8.0_111-internal]


at java.net.InetAddress.getAllByName0(InetAddress.java:1276) ~[na:1.8.0_111-internal]


at java.net.InetAddress.getAllByName(InetAddress.java:1192) ~[na:1.8.0_111-internal]


at java.net.InetAddress.getAllByName(InetAddress.java:1126) ~[na:1.8.0_111-internal]


at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45) ~[httpclient-4.5.3.jar!/:4.5.3]


at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:112) ~[httpclient-4.5.3.jar!/:4.5.3]


at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:359) ~[httpclient-4.5.3.jar!/:4.5.3]


at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:381) ~[httpclient-4.5.3.jar!/:4.5.3]


at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:237) ~[httpclient-4.5.3.jar!/:4.5.3]


at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185) ~[httpclient-4.5.3.jar!/:4.5.3]


at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) ~[httpclient-4.5.3.jar!/:4.5.3]

我的eureka客户端配置为

                    const client = new Eureka({
                    //  application instance information 
                    instance: {
                        id: 'utility-api',    
                        instanceId: 'utility-api',
                        app: 'utility-api',
                        hostName: 'utility-api',
                        ipAddr: ip.address(),
                        port: {
                            '$': 8080,
                            '@enabled': true
                        },
                        vipAddress: 'utility-api',
                        statusPageUrl: 'http://'+ip.address()+':8080/info',
                        healthCheckUrl: 'http://'+ip.address()+':8080/info',

                        dataCenterInfo: {
                            '@class': 'com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo',
                            name: 'utility-api',

                        },

                    },
                    //eureka information
                    eureka: {
                        host: eurekaIp,
                        port: eurekaPort,
                        servicePath: '/eureka/apps',
                        // heartbeatInterval:1000,
                        // registerWithEureka:true
                    },
                });

我正在使用docker进行部署,而该应用使用了Express Server

0 个答案:

没有答案