Articles of 负载均衡

是否有可能使用一个haproxy进程负载平衡多个协议/端口?

我有haproxy为我们工作。 但现在有两个haproxy进程正在运行。 一个用于HTTP,另一个用于TCP(RTMP)。 我已经尝试在一个configuration文件中configuration两个代理,但haproxy只处理HTTP。 我的configuration文件: global log 127.0.0.1 local0 log 127.0.0.1 local1 notice #daemon debug user haproxy group haproxy maxconn 4096 defaults log global mode tcp option tcplog option dontlognull option redispatch retries 3 maxconn 2000 contimeout 10000 clitimeout 50000 srvtimeout 50000 listen http :80 mode tcp balance roundrobin server h1 xxx.xxx.xxx.xxx:80 check server h2 […]

使用LVS(Linux虚拟服务器)做DNS HA

我一直在尝试使用CentOS 6.x创build一个LVS DNS HA: 食人鱼GUI来configurationDNS Pulse是CentOS LB的HA心脏 由于DNS使用TCP和UDP 53,IPTables在数据包上configuration标记 几天后,我发现我不知道如何使它工作 – 我希望有人有lvs.cf文件可用,以及所有必要的iptables规则。 或者,如果有人已经使用了一些其他的OpenSource&Free软件,允许做DNS LB(不是圆的DNS DNSlogging – 这不是这个练习的目的)。 如果有人成功地在LVS下使用了两台或更多的真实服务器在域名服务器上工作,我将不胜感激,如果可以发布configuration: lvs.cf iptables规则放置 我主要是寻找直接服务器返回或NAT – 任何解决scheme将为我工作。 先谢谢你。 吉姆。

如何最大限度地利用fluentd服务器?

我有一个stream利的服务器,正在处理平均1000请求/秒。 这个服务器由32个cpus组成。 在这台服务器上运行32个相同configuration的fluentd docker容器。 服务器的入口点是一个nginx作为负载均衡器configuration循环algorithm,并将其发送到不同的容器。 容器和nginx都在24224 / tcp上侦听。 这个节点的input是6个使用fluent-logger-csharp发送给Fluentd服务器的C#应用​​程序。 所以,对于每个应用程序打开一个连接到Fluentd服务器,并由于stream量大,应用程序保持打开套接字。 这会导致只有6个docker正在处理请求。 如何在不修改C#客户端的情况下更好地使用服务器利用率?

Apache mod_proxy到另一台服务器

我正在使用Apache2中的proxy_balancer将请求发送到Rails应用程序到运行应用程序的端口上的Rails服务器。 这是如何build立… Rails服务器 Mongrel运行在端口8000上,当直接访问url http:// rails_server:8000时 ,站点加载正常 该站点的Apache Server Conf文件: <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName myserver.com ServerAlias application.myserver.com <Proxy balancer://application_cluster> Allow from localhost BalancerMember http://ip.to.server:8000 retry=10 </Proxy> ProxyPass / balancer://application_cluster </VirtualHost> 我遇到的问题是要http:// rails_server:8000工作正常,但要去http://application.myserver.com加载正确的内容,但显示所有的HTML文本,而不是呈现为HTML

使用HA-Proxy对Windows文件共享进行负载平衡

通过DFS拉我的头发后,我只是有这个奇怪的和潜在的危险的想法进入我的头,只是可能,我可能能够使用HA代理负载平衡服务器之间的文件共享。 我已经做了一些补救性的数据包跟踪,它似乎是TCP端口445是唯一参与使用Windows文件共享。 我一直认为多年来,UDP 139,135等也至less涉及build立连接 – 但显然不是! 所以我设置了一个基本的testing: listen SMBTest *:445 mode tcp server Smb1 172.16.61.201:445 server Smb2 172.16.61.202:445 而你永远不会猜测什么…它的作品? (!) 现在显然是有关文件服务器之间的同步(当然)的整体关切。 这可以很容易地与一点点的Robocopy脚本照顾。 考虑到我只需要一个HA只读文件共享,就不会有任何关于文件locking等问题。 谁能告诉我,我在这里玩的是火吗? 我真的不认为它会起作用,现在我有点震惊。 缺点是什么? 这可以依靠生产环境吗?

HAProxy不公平的服务器负载平衡

HAProxy似乎并没有保持与服务器的连接平衡。 记住这一点: 使用HAProxy v1.3.26 5个均衡的服务器规格 algorithm是循环法,但是对每个服务器都不应用权重 在haproxy中设置的全局最大连接数为80,000 如图所示,服务器C和D似乎正在获得比其他更多的连接。 由于这个额外的负载,他们不断下降,并自动重新启动。 我试着读HAproxy官方文档,并做了一些Googlesearch,但没有发现任何有用的东西。 希望这里有人能帮忙。 几个问题: 为什么当configuration说使用roundrobin,服务器规格是相同的,没有权重应用? 什么决定了“会话”列(即1970,1444等)中的“最大”子列。 服务器C,D,E在3K范围内,另外两个在2K以下。 为什么区别? 如何保持均衡? 有人可以解释每一列吗? 我很惊讶HAproxy的官方文档没有真正解释它。

在NGINX负载均衡器中保留响应头

我以这种方式将NGINX设置为两台Domino服务器的负载平衡器: http { upstream www.mydomain.com { server 1.1.1.1; server 2.2.2.2 backup; } server { listen 80; server_name www.mydomain.com; location / { proxy_pass http://www.mydomain.com; } } } 如果我直接访问Domino服务器,响应头是这样的: HTTP/1.1 200 OK Server: Lotus-Domino Date: Mon, 23 Dec 2013 12:19:36 GMT Last-Modified: Fri, 20 Dec 2013 08:16:27 GMT Content-Type: text/html; charset=US-ASCII Content-Length: 12713 Cache-control: private ETag: W/"MTAtODEwRC1DMjI1N0MzRDAwN0M3NTBCLUMyMjU3QzQ3MDAyRDczMzktMC1DTj1QYW51IEhhYXJhbW8vTz1BQUQ=" […]

基于策略的路由

我在http://www.diegolima.org/wordpress/?p=36find了很好的关于负载平衡的文章。虽然我的要求与纯粹的负载平衡略有不同,但我无法实现。 我们有两个ISP连接。 我已经把这两台路由器分别连接到了eth0(public ip 121.XXX.XX.XXX)和eth1(192.168.129.XXX)上的Linux服务器,而我们的内部networking是eth2(192.168.1.XXX)。 我已经决定,我们的FTP应该使用eth1接口,Squid应该使用eth0,Sendmail应该使用eth0,一些用户应该使用eth0,另一些用户应该使用eth1。 任何人都可以告诉是否有可能,我怎样才能实现这个使用iptables和iproute2? 一步一步的帮助是高度赞赏。 提前致谢。

什么用于基于软件的共享文件存储?

情况:build立一个负载均衡器 目前我们所有的服务器(运行CentOS Linux)在我们的数据中心都是成对的:每台服务器都有一台镜像服务器。 目前我们没有采用任何负载均衡,所以serverA获取所有stream量,当发生故障时(硬件或软件),我们可以通过在serverB上configurationserverA IP地址来快速切换到serverB。 我们正在使用MySQL主/主复制(尽pipe我们可以简单地使用主/从复制进行当前设置)和rsync保持同步的vhost文件(serverA同步到serverB)。 这对我们来说工作的很好,但是效率很低,因为我们有50%的硬件在机器出现故障之前什么也不做。 我们正考虑在服务器对之前安装负载平衡器,这样我们就可以将负载分配到两台机器,并为每个群集添加额外的服务器。 问题:共享文件存储 设置它可能不会比将负载均衡器放在每个服务器对前面,然后将stream量分配给每个服务器对中的每个服务器。 除了一件事:文件存储。 目前rsync“推”从serverA到serverB的变化,但不是相反。 我们可以设置它,使rsync也从serverB运行到serverA,但问题是,rsync永远不知道是否创build或删除serverA上存在的文件,而不是serverB上的文件。 我看着Unison ,但是这个项目似乎已经停止了。 问题:基于软件的共享文件存储的最佳解决scheme是什么? 所以,我正在寻找一个不同的解决scheme。 请注意,我不想添加更多的硬件(所以没有NAS / SAN解决scheme)。 另外请注意,我们需要每个群集less量的存储(低于500GB),并且所有服务器都在同一个本地networking上。 我们有一个体面的备份解决scheme(备份每3小时运行一次)。 我一直在看DRBD ,这似乎很适合我们的情况,但我没有经验。 DRBD是我们走的路吗? 请分享您与这个和其他类似的解决scheme的经验。 任何想到的陷阱? 我在正确的轨道上? 请赐教:)

信道容量不足1GBit

有一个caching服务器(Varnish):它根据请求从Amazon S3接收数据,将其保存一段时间并提供给客户端。 我们遇到了1GBit的通道容量不足的问题。 在4小时内的高峰负载完全扼杀通道。 服务器性能已经足够。 每天大约有4.5TB的数据传输。 每月累计超过100TB。 首先想到的只是添加一个1GBit的端口,并且平安地hibernate,直到2GBit是不够的(可能发生得很快),或者一个服务器无法处理它。 然后我们只需要添加新的caching服务器。 但是现在我们需要一个负载均衡器,它将在同一个URL上发送请求,并始终在一个服务器上(以避免同一个caching对象的多个副本)。 以下是问题: 平衡器是否需要一个等于caching服务器所有频带之和的频带? 如果平衡器中没有端口,我们该怎么办? 我们应该添加更多的平衡器或通过循环DNS解决问题? 这些问题的标准方法是什么? 任何人都可以build议托pipe公司,这可以解决这个问题? 我们对美国和欧洲市场感兴趣。