Spring Boot负载平衡

mah*_*wde 6 cluster-computing netflix spring-boot netflix-feign netflix-eureka

我正在开发Spring Boot应用程序。

我想知道如何将负载平衡器放置在应用程序的前面,以便在一些服务器上分配负载。

我在Google上搜索后发现,有一些Netflix API,例如EurekaHystrixRibbonArchaius,将有助于完成劳德平衡工作。

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

我将尽管所有这些,但无法找到启动的入口点。其实我不是从哪里开始。

Mic*_*zyk 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
Run Code Online (Sandbox Code Playgroud)

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


dan*_*ten 4

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