【发布时间】:2018-03-06 23:28:08
【问题描述】:
我有这个 AngularJS 应用程序,它使用用 SpringBoot 编写的后端 REST API。 我想使用 SpringBoot 在不同的端口上运行这个后端 API 的几个实例。 如何在这些 SpringBoot 实例之间进行负载平衡?
我尝试使用 Apache,但它似乎不起作用:
ProxyRequests off
<Proxy balancer://mycluster>
BalancerMember http://54.152.52.248:9999/restApi/v1 loadfactor=5
BalancerMember http://54.152.52.248:9898/restApi/v1 loadfactor=5
# Set counting algorithm to more evenly distribute work:
ProxySet lbmethod=byrequests
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
</Location>
ProxyPass /balancer-manager !
ProxyPass / balancer://mycluster/
平衡器成员对应两个 Java 进程,不同的端口。 我在上面要做的是定义上下文 /balance-manager ,它将由代理处理,而代理又将请求分发给这些平衡器成员;如果我能证明这发生了,我可以继续进行粘性会话之类的。
目标是让 angular rest 客户端向这个单一的 balancer-manager/some_service/some_parameters/ 请求,并且这个代理会进行适当的重定向,我不相信上面会发生这种情况。
如果这可行的话有什么想法吗?
谢谢。
【问题讨论】:
-
这和 AngularJS 有什么关系?
-
你看过 Hystrix 吗?
标签: apache spring-boot load-balancing