当前位置: 首页 > 知识库问答 >
问题:

外部客户端无法与eureka服务器内部的方法通信

路雅懿
2023-03-14

我配置了一个尤里卡服务器,在这个尤里卡服务器里我写了一个Restapi。现在我有一个eureka客户端服务,我正试图从客户端服务调用eureka服务的方法之一。但是我得到一个错误"负载均衡器没有可用的服务器为客户端: eureka-service"。

但是,如果我使用feign从一个客户机服务调用api到另一个客户机服务,那么它就会给出成功的结果。只是无法从eureka服务调用API。

eureka-service是我eureka服务器的应用程序名。

@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
 public static void main(String[] args) {
    SpringApplication.run(EurekaApplication.class, args);
 }
}

@RestController
@RequestMapping("test")
public class TestController {
 @GetMapping
 public String test(){
    return "test success";
 }
}

独自创立尤里卡邮递公司

eureka:
 client:
  registerWithEureka: false
  fetchRegistry: false 
  eureka-server-read-timeout-seconds: 60
  eureka-server-connect-timeout-seconds: 60
  serviceUrl:
   defaultZone: http://localhost:8763/eureka/ 
 dashboard:
  enabled: true
spring:
 application:
  name: eureka-service

客户服务是:

@SpringBootApplication
@EnableFeignClients
@EnableDiscoveryClient
public class ClientApplication {

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



@FeignClient("eureka-service")
public interface TestFeign {
  @GetMapping("test")
  String test();
}

独自创立客户服务的yml

eureka:
 client:
  registerWithEureka: true 
  fetchRegistry: true
  eureka-server-read-timeout-seconds: 60
  eureka-server-connect-timeout-seconds: 60
  serviceUrl:
   defaultZone: http://localhost:8763/eureka/ 
spring:
 application:
  name: client-service
feign:
 hystrix:
  enabled: true

错误日志:Servlet。路径为[]的上下文中servlet[dispatcherServlet]的服务()引发异常[请求处理失败;嵌套异常为com.netflix.hystrix.exception.hystrix RuntimeException:TestFeign#test()失败,没有可用的回退。]与根本原因com。netflix。客户ClientException:负载平衡器没有可用于client:eureka服务的服务器。

我们怎样才能解决这个问题。提前谢谢你的帮助。

共有1个答案

程鸿波
2023-03-14

您需要扫描您的接口,这些接口声明它们是FaignClients,并在您的主类中使用@EnableFaignClients注释,并添加feign.hystrix.enabled=true属性。

 类似资料:
  • 我正在使用spring、spring boot、eureka(用于服务发现)和ribbon开发一个微服务应用程序。 我的应用程序由三个服务组成:客户端、服务器和eureka服务器 客户端和服务器都在eureka服务器上注册,之后客户端使用eureka服务发现调用服务器。 我可以在本地运行应用程序,一切都很好。 但是当部署在aws上时,事情就会失控。 接下来的步骤 同一安全组中有三个ec2实例 每个

  • pom.xml 主应用程序类 Application.Properties eureka客户端设置 pom.xml Application.Properties 我在eureka-server仪表板(http://localhost:8761)中没有看到向Eureka server注册的micro-service-currency-exchange-service 为什么eureka客户端没有注册

  • 这是我使用PCF开发的第一个微服务。我创建了以下Eureka服务器应用程序。 以下是eureka服务器服务的属性 以下是eureka客户服务 以下是eureka客户端服务的属性 我已经在本地服务器上运行的PCF Dev实例上部署了微服务 当我运行服务器时 http://eureka-client.local.pcfdev.io/service-instances/eureka-client 当我试

  • 我有两个AWS EC2实例。服务器和客户端节点JS应用程序。 在本地,我的代码运行良好。但是在AWS,客户端会在一段时间后(例如30秒)关闭,没有任何警告/异常(由于某种原因,它无法找到并连接到服务器) 两个AWS实例都在运行:Windows Server 2016 Base。 两个AWS实例都有自己的服务器“AWS安全组”。只是为了确保我没有阻止两个安全组当前允许的任何东西:“所有流量到任何IP

  • 现在我的ServerSocket是这样的 一切正常,客户端连接,发送一些数据,服务器读取它,但我的问题是如何从我的服务器发送消息到所有的客户端?我目前保存客户端上的ArrayList,所以我可以只是循环,ArrayList打开一个作家和刷新它,但我想发送的数据,我得到我的ClientConnection类 我应该如何处理这个代码?在服务器类上完成的所有操作?或