Microsoft 有很多关于 IIS7 的新负载平衡和请求路由模块的文档,位于此处:http : //blogs.iis.net/bills/archive/2009/02/16/iis7-request-routing-and-load -balancing-module-released.aspx,但我想知道是否有人有在生产中使用它的经验。使用此模块而不是其他解决方案(例如 HAProxy)有哪些优点/缺点?
我了解生成树的基础知识,但仅此而已。我希望有人能告诉我这是否会如我所愿。
我为冗余设置了两个 Cisco ACE 负载平衡器。每个 ACE 都连接到自己的第 2 层交换机。目前,每个第 2 层交换机都连接到自己的 1 Gig 光纤链路到 CoLo。每个光纤链路都为不同的 IP 子网设置,我们的 CoLo 不为我们提供处理 BGP。我们必须购买我们自己的路由器来处理这个问题,这是一个即将到来的项目。
(我在那里安装了第 2 层交换机,因为 CoLo 提供光纤,而 ACE 只有铜缆,因此所有交换机所做的就是将光纤更改为铜缆。)
所以目前我只能使用一个负载平衡器,因为 ACE 不支持生成树。现在第 2 层切换到支持生成树,它只是默认禁用。现在,如果我要启用生成树,并交叉连接第 2 层交换机,一切会按预期工作,还是会导致网络崩溃?
我希望在尝试之前得到一些专家的建议,因为它是一个生产网络,我没有几个额外的 Cisco ACE 负载均衡器可以在实验室中试用。
问题是由于缺少 BGP,我们目前无法使用第二条 ISP 链接。所以我想将两个网络交换机交叉连接在一起。有人告诉我,如果我将两个 ACE 连接在一起,将完成循环并导致网络问题。因此,如果我可以连接顶部的交换机,该交换机支持应该解决问题的生成树。最终,顶级交换机和负载均衡器之间将有两个路由器来处理两条网络链路上的 BGP。
我说的有道理吗?对不起,这真是一团糟,我在 SQL Server 中更自在,然后是网络。
我有一个 udp 服务器,它是我业务流程中的核心部分。为了处理我在生产环境中期望的负载,我可能需要 2 或 3 个服务器实例。服务器几乎完全是无状态的,它主要收集数据,它上面的层知道如何处理可能由多个服务器实例产生的最少量陈旧数据。
我的问题是,如何在服务器之间实现负载平衡?我更愿意在服务器之间尽可能均匀地分配请求。我还想要保真度,我的意思是如果客户端 X 被路由到服务器 y,那么我希望 X 的所有后续请求都转到服务器 Y,只要它是明智的并且不会使 Y 过载。
顺便说一下,它是一个 .NET 系统......你会推荐什么?
状态在服务器内部,而不是某种交易。状态是服务器从它们接收到的数据中聚合的一些数据,并且可以使用简单的 WCF WebService 进行查询。该应用程序基于 UDP,虽然我不同意该决定,但它的“高于我的工资等级”
我目前正在试用 MS 的 NLB,它工作正常,它开箱即用,具有保真度,但它在整个网络上产生噪音......
也没有DNS...哦,这是一个完全的服装协议。
我的 haproxy.cfg 文件有两个使用主机名的后端服务器:
server ops-ca-revealv2e-prod-1 ops-ca-revealv2e-prod-1:443 cookie ops-ca-revealv2e-prod-1 ssl weight 1 maxconn 512 check
server ops-ca-revealv2e-prod-2 ops-ca-revealv2e-prod-2:443 cookie ops-ca-revealv2e-prod-2 ssl weight 1 maxconn 512 check
Run Code Online (Sandbox Code Playgroud)
这些主机名是 Amazon OpsWorks 的一部分,并且会在实例启动或关闭时自动注入 /etc/hosts。如果我在其中一个实例关闭时尝试重新启动 HAProxy,则会收到错误消息:
[ALERT] 362/225440 (27202) : parsing [/opt/haproxy-ssl/haproxy.cfg:42] : 'server ops-ca-revealv2e-prod-2' : invalid address: 'ops-ca-revealv2e-prod-2' in 'ops-ca-revealv2e-prod-2:443'
[ALERT] 362/225440 (27202) : Error(s) found in configuration file : /opt/haproxy-ssl/haproxy.cfg
[ALERT] 362/225440 (27202) : Fatal errors found in configuration.
Run Code Online (Sandbox Code Playgroud)
有没有办法告诉 HAProxy 检查主机名是否有效?如果有效,则使用它,如果无效,则忽略它。
很长一段时间(2 年?)我一直在运行具有非常基本的出站负载平衡功能的虚拟机(Ubuntu 12.04 服务器),从不同的 ADSL 路由器发送不同的出站连接。
通过使用没有 NAT 伪装的 iproute 进行简单配置,NAT 由出站 ADSL 路由器本身管理,允许连接绕过负载平衡路由器 VM 直接路由回发送方。路由器 VM 上也没有防火墙规则 (iptables)。
echo 1 > /proc/sys/net/ipv4/ip_forward
# flush initially
ip route flush cache
# remove whatever is there for the default to begin with
ip route delete default
# default load balancing rule
ip route add default scope global \
nexthop via ${ROUTER2} dev ${INTERFACE} weight 6 \
nexthop via ${ROUTER1} dev ${INTERFACE} weight 4
Run Code Online (Sandbox Code Playgroud)
这在很长一段时间内一直运作良好。
我最近将负载均衡器(Ubuntu 12.04 服务器虚拟机)升级 (do-release-upgrade -d) 到 Ubuntu …
我正在使用 haproxy 为在单个服务器上运行的多个应用程序直接路由。对于正在使用的域之一,有几十个子域应该指向少数应用程序之一。
目前,我在单独的一行中列出了所有这些子域。我的前端配置如下所示:
frontend http-in
bind *:80
acl alpha hdr(host) -i alpha.com
acl beta hdr(host) -i beta.com
acl gamma00 hdr(host) -i apple.gamma.com
acl gamma01 hdr(host) -i banana.gamma.com
acl gamma02 hdr(host) -i cherry.gamma.com
acl gamma03 hdr(host) -i durian.gamma.com
acl gamma04 hdr(host) -i elderberry.gamma.com
acl gamma05 hdr(host) -i fig.gamma.com
acl gamma06 hdr(host) -i grapefruit.gamma.com
acl gamma hdr(host) -i gamma.com
use_backend a if alpha
use_backend b if beta
use_backend sub1 if gamma00
use_backend sub1 if gamma01
use_backend sub1 if gamma02
use_backend sub2 …Run Code Online (Sandbox Code Playgroud) 从 Apache 2.4开始,我开始使用mod_remoteip而不是mod_extract_forwarded来重写来自前端服务器(varnish、squid、apache 等)提供的x-forwarded-for 的客户端地址。
到目前为止,所有模块都可以正常工作,即 php、cgi、wsgi 等...... - 客户端地址显示为它们应有的样子,但我无法在访问日志中写入客户端地址(%a、%h、%{c }一种)。不走运 - 我总是得到 127.0.0.1(本地主机转发前)。
使用mod_remoteip时如何记录客户端的IP地址?
更新:IT WORKS O_O - 请参阅下面的答案
我想测试位于负载均衡器后面的两台服务器之间的单向同步的一些配置更改(这都是 Rackspace Cloud 基础设施仅供参考)。我遇到的问题是,我无法分辨负载均衡到哪台服务器,因为给定的 IP 始终是负载均衡器的 IP。
是否有一种简单(甚至不是很简单)的方法来判断我实际上被定向到了哪个服务器。理想情况下,我喜欢浏览器中的某些内容,因为这意味着非技术团队成员也可以相对轻松地报告问题,但任何有关最佳方法的想法都将不胜感激。
附加信息:两台服务器都运行 Apache,负载均衡器配置了会话持久性。
我被要求在数据中心重建我们的负载平衡基础设施。
最初的请求是对 FTP 服务器进行负载平衡。我尝试使用当前的负载平衡器 ( Piranha / LVS)执行此操作,但没有启动并运行。不仅仅是因为这个软件几乎没有文档。由于Piranha被认为已弃用,我在HAProxy尝试了几天后转而使用它,它在Piranha.
所以我已经有了 FTP 负载平衡(被动模式)。现在,我被要求更换数据中心的整个 Piranha Load Balancer。在当前的 Piranha 配置中,我们有几个 Web 服务器、IIS 服务器....aaa 和DNS。
不,事情是这样的:
HAProxy似乎是一个常用的 LB,但它不能处理UDP load balancing. 这是一个无赖,因为我喜欢如何HAProxy运作。所以我用谷歌搜索了很多,遇到了几件事。大多数人似乎将LVS其用作 DNS (TCP/UDP) 的 LB。有的用dlbDNS,有的用lbnamed,有的用netfilter / iptables。
由于我想坚持使用HAProxyFTP、HTTP、IIS 服务器,因此我对将它与LVS.
要求:
具有故障转移功能的
2个 LB 实例 具有故障转移功能的2 个 DNS 服务器(已经存在)
多个后端服务器(http、应用程序等...)
问题:
这可能吗?DNS 服务器上的 UDP 负载平衡是否有必要?是否有任何类型的资源可以告诉我如何开始使用它?或者有没有既能处理 TCP/HTTP 又能处理 UDP 负载均衡的 …
这是一个关于 MX 协议优先级的问题。如果我有两个服务器作为具有不同优先级的 MX:
协议是否保证首选 MX 10?除了主要可用性之外,提交者是否可以出于任何其他原因选择辅助?
换句话说:如果我的 serverA MX 运行良好并且具有(理论上的)无限连接容量,我能确定没有人会尝试连接到 serverB 吗?