您如何看待用于 AJP 负载平衡的 lighttpd?
我为此使用了 Apache 和 mod_jk,它工作正常。将 apache 切换到 lighttpd 有什么好处?
什么软件用于负载平衡 J2EE 应用程序?硬件负载均衡器?
谢谢!
Nginx 的负载均衡策略是否可以通过任何方式自定义?有两个站点 A 和 BI 希望所有请求的 20% 发送到 A,其余的发送到 B。这可能/可行吗?有没有更好的解决方案来完成这项任务?
谢谢,
亚历克斯
我们正在使用 HAProxy v1.3 在 Amazon EC2 中的一堆 Windows VM 之间进行负载平衡,并且在实例稳定性方面存在一些问题。我们有自己的监控,所以我们知道实例何时开始丢弃请求或开始表现得更糟,但问题之一是它可能会偶尔开始工作一小段时间,所以 HAProxy 认为它已经启动,开始向它提供请求,但最终却让它们关闭/超时,这正成为一个大问题。
当它这样做时,实例在两个状态之间摆动的时间不到两分钟,所以我想知道是否有任何方法可以将 HAProxy 配置为仅添加服务器,如果它们已经持续运行了一段时间(比如说,5 分钟)。
我尝试了 Kemp 和 Coyote 入门级(约 2000 美元)LB,并对它们的性能感到满意,但在这里得到了建议,可以查看 www.loadbalancer.org,它们有类似价格的产品。
有没有人有机会在生产中使用它们,并且可以提供任何建议,包括它们与 Kemp 或 Coyote 的比较?
谢谢。
我有 5 个 linode 实例,其中大部分都在适度使用中。
最近我打开了一个占用大量带宽的站点,它所在的 linode 正在遭受流量的重创,我分配给该 linode(200GB/月)的宝贵的几 GB 空间都被消耗掉了。
有没有办法在所有实例上设置同一个站点并共享带宽?有点像负载均衡器...
我正在寻求有关以预算(例如 2,000 英镑 - 3,000 英镑)设置高速负载平衡服务器集群的最佳方式(主要是在硬件方面)的建议,以在单个 IP 地址后托管 Web 服务,支持db 服务器和通用文件系统。全部在 linux 上。
对于网络服务器,我知道我想用 apache 设置 IPVS,但我不知道在硬件上花费的最佳方式。我会设想有一台机器(最好有一个备份)从互联网上获取请求并在一系列 apache 服务器之间对这些请求进行负载平衡。阵列中的每台服务器都具有对公共文件系统的共享访问权限。随着时间的推移,我会向阵列添加更多服务器以增加容量。
系统始终在负载平衡器处遇到瓶颈。我需要什么样的机器才能支持非常高/不太高的流量?哪个更重要 - 处理器/内存
对于 apache 阵列中的机器,我要做什么 - 更多的处理器,更快的处理器,更多的内存等 - 这是最重要的,如果我打算添加更多机器,它甚至很重要
为了提供可扩展性(易于添加更多磁盘空间)和性能(因为它也是一个瓶颈),实现共享文件系统的最佳方法是什么?在这里,我想要软件和硬件建议。
用于各种任务的机器的成本/性能估计。
关于使用此设置可以为给定数量的机器提供的流量类型的任何想法。
我有两台服务器,在处理能力和负载方面具有相同的能力。我想要完成的是:(我已经拥有并运行 DNS 服务器,所以这应该不是问题)。
服务器 A 将向 sub.domain.com 的所有传入请求提供服务,服务器 B 仅在服务器 A 停机时提供服务,如果需要等待片刻来决定,那没关系。
是否可以?加权循环不能满足我的需要,常规循环也不能,因为如果第一个请求成功传递,它只会前进到下一个服务器。
有没有办法让它在服务器 A 上的 sub.domain.com 不可用时转发到服务器 B,直到 A 上线?
谢谢,这真的有助于我的项目的一致性。
我已经mod_jk在 ubuntu 服务器上设置了 apache-tomcat 集群。我在FarmDeployer将 war 文件部署到集群中的其他 Web 服务器时遇到了一些问题,我希望它能像我发布的那样工作并使 FarmDeployer 在这里工作。
战争部署器与帖子中的以下配置完美配合,但不能可靠地工作,因为它有时会在访问页面时出现 404 错误:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="192.168.1.4"
port="4000"
selectorTimeout="100"
maxThreads="6"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor">
<Member className="org.apache.catalina.tribes.membership.StaticMember"
port="4000"
securePort="-1"
host="192.168.1.2"
domain="staging-cluster"
uniqueId="{0,1,2,3,4,5,6,7,8,9}"/>
</Interceptor>
</Channel>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/usr/share/tomcat/temp/"
deployDir="/usr/share/tomcat/webapps/"
watchDir="/usr/share/tomcat/watch/"
watchEnabled="true"/>
</Cluster>
</Host>
Run Code Online (Sandbox Code Playgroud)
以下是完美适用于 HA 和 LB 集群的配置(来自 tomcat cluster docs)。But it fails in Farm Deployer并且日志中没有任何说明农场部署程序不工作的原因。
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"> …Run Code Online (Sandbox Code Playgroud) nginx 是否将直接客户端的 IP 用于 ip_hash,或者它还观察 X-forwarded-for HTTP 标头以用作 ip_hash 的 IP 地址?
例如,在某些使用共享代理服务器的客户端访问带有 ip_hash 的 nginx 负载均衡器的情况下,所有这些客户端都会散列到同一个节点吗?
或者 nginx 会使用 X-forwarded-for 标头将它们散列到不同的节点吗?
我们有一种情况,我们将在世界和我们的应用服务器池之间引入负载均衡器。我们域的 DNS 应该指向负载均衡器,并在内部重定向流量。问题是 DNS 传播需要时间,而且我们不能有任何停机时间。
现在的情况
x.y.z.123 is the APP server
DNS www.mysite.com points to x.y.z.123
Run Code Online (Sandbox Code Playgroud)
预期新情况
x.y.z.250 is the load balancer
x.y.z.123 is the APP server
DNS www.mysite.com points to x.y.z.250
Run Code Online (Sandbox Code Playgroud)
哪种方法最好?我对具有中间步骤的解决方案没意见。更改 APP 服务器的 IP 地址不是解决方案。
load-balancing ×10
apache-2.2 ×3
cluster ×2
nginx ×2
ajp ×1
haproxy ×1
lighttpd ×1
linode ×1
linux ×1
nfs ×1
proxy ×1
round-robin ×1
tomcat6 ×1
ubuntu ×1
uptime ×1