首页 > 解决方案 > 如何正确水平扩展 Jelastic 应用服务器

问题描述

我有几个无状态应用服务器打包到 Docker 容器中。我在它们上面有很多负载,我想水平扩展这个设置。我的设置不包括负载均衡器节点。

我所做的只是增加了节点数量——到目前为止一切都很好。据我了解,Jelastic 有一些内部负载均衡器,它决定应该将传入请求传递到哪个节点,例如:user -> jelastic.my-provider.com -> 创建的 10 个应用程序节点之一。

但是我注意到我的很多节点(尤其是最后一个节点)没有收到任何请求,只是处于空闲状态,而第一个节点收到了大部分传入请求(我有很多!)。这对我来说看起来很奇怪,因为我认为内部负载均衡器在做一些循环分配之王。

如何正确设置循环平衡?我得出的结论是,我必须使用 nginx/haproxy 创建另一个环境,并将我的所有 10 个节点手动添加到下游服务器列表中。

编辑:我已经设置了单独的 HAProxy 实例并手动将我的所有节点添加到 haproxy.cfg ,它就像一个魅力。但是问题仍然存在,因为我想实现自动/按计划水平缩放。

Edit2:我使用 Jelastic v5.3 Cerebro。我使用自定义 Docker 映像(顺便说一句,我有大约 20 个环境,除了数据库之外的所有自定义映像)。

对于这个特定案例,我的拓扑结构非常简单——单个 Docker 环境,配置了应用服务器并扩展到 10 个节点。我不使用公共IP。

Edit3:我根本不需要粘性会话。我所有的请求都来自另一个部署到 jelastic(1 个节点)的服务。

标签: jelastic

解决方案


推荐阅读