两个发现服务器之间的负载平衡

时间:2015-08-05 20:02:06

标签: spring-cloud

我在对等模式下运行发现,我有2个发现服务器,服务器都在交换信息并代表当前发现的服务集。

在服务用于连接到eureka的serviceUrls中,有一个csv列表,其中存在discoveryserver1,discoveryserver2。

所以服务总是发送到discoveryserver1,除非出现故障,然后转到discoveryserver2。

我想要做的是让discoveryserver1和discoveryserver2之间的发现客户端循环,以便服务上的负载平衡。而是一个发现服务器将被大量加载而另一个未被使用(很多)

除非我重写发现客户端,否则我看不到这样做的方法。

思想?

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用边缘服务器作为zuul(幸运的是在春天的云堆栈:))。因此,您的所有请求都通过zuul代理,该代理使用功能区作为中间层服务的负载均衡器。当然,拥有冗余的zuul服务器非常重要,因此你必须在BigIp或其他方面设置一些LB.

OR

如果您使用的是没有zuul的eureka且唯一的客户端是您拥有的代码,那么您可以:

  1. 使用LoadBalancerClient或
  2. 注释它
  3. 使用RestTemplate或
  4. 使用FeignClient或
  5. 我不知道的其他选择; )
  6. +在classpath上添加功能区,你很高兴。