dan*_*dan 2 ssl nginx load-balancing mod-ssl
我对在下面引用的文章中构建架构很感兴趣。
我目前有一个价格适中的第 4 层负载平衡器,我的应用程序服务器是 SSL 端点。我想在我的负载平衡器和我的应用程序服务器之间放置一个 SSL 服务器群。然后我将在 SSL 场和我的应用服务器之间放置另一个廉价的负载平衡器,以进行第 7 层路由。

我的 Web 应用程序具有相当高的消费者流量,6 个服务器可以处理大约 50% 的容量。此外,我的基础设施流量比我的消费者流量大几个数量级。这是来自世界各地的数据,必须与我的 Web 应用程序实时集成。我总共有 18 个应用服务器来处理所有流量,另外还有 6 个数据库服务器。我将在接下来的 2 周内再添加 6 个应用服务器,并在之后的 2 周内再添加 6 个。保守地说,我估计到今年年底我需要扩展到 120 台服务器。
我现在的动机是将消费者流量与基础设施流量分开。消费者流量的优先级高于基础设施流量,我不能允许基础设施方面的踩踏事件关闭我面向消费者的服务器。拥有一个永远在线的网站是重中之重。但是,如果其中一个消费者应用服务器出现故障,我想将该流量路由到为基础架构流量指定的服务器。
复杂的是,所有流量都使用相同的主机名寻址,并且几乎 100% 是 https。在我的例子中,区分基础设施和消费者流量的唯一方法是通过 URL(我继承的糟糕的架构),所以我需要一个第 7 层负载均衡器来进行路由。然而,为了让它工作,我需要一个基于硬件的 SSL 终止器或一个如上所述的 SSL 服务器群。因为我的用户群正在迅速扩展,我担心如果我沿着硬件路径走下去,它会很快变得非常昂贵,特别是因为我需要 4 个所有东西来实现高可用性(2 个设施中的 2 个相同设置)。同时,上图似乎非常灵活,并且更具水平可扩展性。
以前有人建过这个吗?是否有预先构建的配置?我应该考虑什么以及我应该使用什么软件(我听说有人使用带有 mod-ssl、nginx 和 stunnel 的 apache)?另外,购买昂贵的负载平衡器与构建 SSL 服务器群什么时候有意义?
对于 120 台服务器的集群,请咨询专业人士。我没想到您会得到足够详细的申请答复。
我们设置的最复杂的集群配置只有 20 台服务器,其中只有 12% 是 HTTPS 流量(14Mbit 纯 SSL)。
我们典型的架构是...
如果有帮助,对于网络集群,我们通常使用:
lvs (initial ssl load balancing)
-> pound (ssl-unwrapping)
-> varnish (caching)
-> haproxy (load balancing)
-> nginx (static content)
-> php (dynamic content)
-> mysql (db)
Run Code Online (Sandbox Code Playgroud)
我们曾stunnel与HAProxy(代替 Pound)结合使用,但它在链的更下游导致了一些复杂情况(无法设置标题)。
磅
我们使用它并且它工作得非常好,以至于我们无法将它推到我们拥有的硬件和Apache jMeter测试期间通过的流量的限制。
还有上记网页的pound与业绩改善
如果 PCRE、tcmalloc(来自 Google perftools 包)和/或 Hoard 可用,Pound 将链接到它们。这将提供显着的性能提升,强烈推荐。
但pound被认为适用于“低”流量应用程序,但其扩展性似乎不如其竞争对手,其他人在基准测试中记录了这一点
软件 SSL 终结器基准
CPU 使用率可能是关键问题
CPU 消耗将是您最大的问题,因此明智地使用SSL 密钥大小会有所帮助,1024 位(现在大多数 SSL 权威已弃用)与 2048 位与 3072 位密钥将线性增加开销。
这里有一些关于一般 SSL 性能的好读物,http://www.imperialviolet.org/2010/06/25/overclocking-ssl.html
您最终会在这里找到的是,没有“正确”的答案,只有测试、再次测试,然后再测试一些,才能向您展示在您的场景中什么最有效。
| 归档时间: |
|
| 查看次数: |
1736 次 |
| 最近记录: |