7

我正在开发一个弹簧启动应用程序。

我想知道如何将负载均衡器放在应用程序前面,以便在一定数量的服务器之间分配负载。

我搜索了一下,发现有一些 Netflix API,比如EurekaHystrixRibbonArchaius可以帮助完成负载平衡工作。

但是找不到这些术语如何帮助分配请求和平衡负载,同时为访问特定服务的所有用户提供高可靠性和可用性。

我正在考虑所有这些,但找不到启动的入口点。其实我没有从哪里开始。

4

2 回答 2

5

您可以使用HAProxy

您可以使用自己的配置文件在服务器上运行它,例如:

global
   daemon
   maxconn 256

defaults
   mode tcp
   timeout connect 5000ms

listen http-in
   timeout client 180s
   timeout server 180s
   bind 127.0.0.1:80
   server server1 157.166.226.27:8080 maxconn 32 check
   server server2 157.166.226.28:8080 maxconn 32 check
   server server3 157.166.226.29:8080 maxconn 32 check
   server server4 157.166.226.30:8080 maxconn 32 check
   server server5 157.166.226.31:8080 maxconn 32 check
   server server6 157.166.226.32:8080 maxconn 32 check

这将允许使用循环算法将到达本地主机端口 80 的每个 http 请求分布在列出的服务器上。有关详细信息,请参阅 HAProxy 文档。

于 2015-10-06T13:07:10.060 回答
4

了解您的应用程序正在提供 REST 服务,我建议您不要继续研究 Netflix API。这很棒,但对您的用例没有帮助。我建议你看看ha-proxynginxhttpd以获得简单的负载平衡功能。好的部分是您不必考虑会话粘性,因为 REST 在默认情况下是无状态的。

于 2015-10-06T12:52:21.290 回答