出于冗余和负载共享的目的,我们正在添加第二个web服务器。所有连接都强制使用SSL,目前不可能添加专用设备。
我想使用轮询DNS,两个服务器使用不同的I响应相同的域(我们有一个通配符SSL证书,所以这是可以的)。我可以让DNS以随机/循环的顺序返回,没有问题。
在使用SSL时,这是不是一个糟糕的设置?
我们的用户模式是一致的--用户将持续使用web应用程序8-10个小时。我们希望每个页面查看尽可能快,我担心的是用户可能会不断地在服务器之间切换,这可能会否定任何SSL握手缓存/保持活动状态。
谢谢!
发布于 2009-12-13 04:17:07
首先,SSL能够恢复较早的会话,因此在服务器之间切换将花费您每次请求几百毫秒的时间(如果多个客户端同时访问站点,则时间更长,因为这是我们讨论的CPU时间)。
然而,客户端是否真的会翻转取决于- DNS“负载平衡”是一项繁琐的业务:
正如你所看到的,根据你是更关心冗余/故障转移还是负载平衡,有很多不同的权衡;DNS在这里并不是最好的工具--你确实需要服务器使用反向代理或者像Heartbeat这样的东西来共享IP (假设你是基于Linux的)。
顺便说一句:如果两个服务器都响应相同的域,那么您不需要通配符证书,尽管如果您打算在多个服务器上使用证书,CA通常会收取更高的费用。
发布于 2011-09-23 02:39:03
TLDR:你会没事的。SSL重新协商不应该发生得足够频繁,以至于您的最终用户无法察觉。
Rant从这里开始:
使用DNS的负载分布是一个经常被误解的话题,它导致了许多轶事证据和稻草人的争论。我参加过太多这样的会议了。
以下是我通常解决这些争论的方法:
“哇,是的,这听起来真的很开放,很长的戏剧性停顿,但它真的不会那么糟糕,因为谷歌使用它。”
$host encrypted.google.com
encrypted.google.com is an alias for www3.l.google.com.
www3.l.google.com has address 74.125.224.195
www3.l.google.com has address 74.125.224.202
www3.l.google.com has address 74.125.224.193
www3.l.google.com has address 74.125.224.197
www3.l.google.com has address 74.125.224.207
www3.l.google.com has address 74.125.224.206
www3.l.google.com has address 74.125.224.203
www3.l.google.com has address 74.125.224.204
www3.l.google.com has address 74.125.224.196
www3.l.google.com has address 74.125.224.199
www3.l.google.com has address 74.125.224.201
www3.l.google.com has address 74.125.224.194
www3.l.google.com has address 74.125.224.192
www3.l.google.com has address 74.125.224.200
www3.l.google.com has address 74.125.224.205
www3.l.google.com has address 74.125.224.198
更新:
此设置是否冗余?
它在工程意义上并不是固有的冗余,因为如果这些in中的一个发生故障,它将继续被服务于客户,直到执行DNS区域改变并且所有下游高速缓存到期。尽管如此,大多数浏览器都足够聪明,可以在这种情况下尝试另一个ip - reference。
此外,可以容易地设计一种系统,该系统将通过简单的ip接管将故障实例的ip路由到服务设备,而不是要求DNS区域改变来移除故障节点。
此设置有弹性吗?
是的,弹性是通过最小化您的故障域实现的。回到我们的单个ip故障示例(请记住,这些ip可能代表由数百台服务器甚至整个数据中心支持的负载均衡器),客户命中该ip的可能性为1/16,即~6% (使用上面的google示例)。这在本质上比具有单个A地址的系统更具弹性,后者将影响100%的用户,或者具有2个A记录的系统,在该系统中,用户命中故障资源的概率为50/50。
发布于 2009-12-13 10:39:44
不必为那事担心了。有多个级别的DNS缓存,因此用户不会在每次请求时在2个IP之间切换。每个客户端的IP将保持几个小时不变。
我们有一个相反的问题。当服务器宕机时,用户仍然拥有错误的IP。我们将TTL设置为1分钟,但很少有浏览器支持它。由于这个问题,对于同一网络上的负载平衡,VIP是比DNS更好的选择。
https://stackoverflow.com/questions/1894313
复制相似问题