记在这次HAProxy配置中遇到的问题
2016-08-17 20:19
302 查看
上一篇文章介绍到了HAProxy进行转发功能的配置,其是针对于根据不同情况下来进行的转发。
最近我做的项目是进行公司广州合作机房到aws亚马逊机房之间产生的延时,其中此链路的线路如下:
广州合作机房---->深圳自研机房---->北美自研机房---->aws
针对于这个链路,我们需要在深圳自研机房和北美自研机房上分别架上HAProxy代理进行消息的转发,而由于测速是使用自己用socket写的TCP ping包,就要求TCP包能沿着源链路返回到广州节点上,也就是说其是双向通信的。
刚开始我的配置文件如下:
以上是我在北美的HA的配置,可是测试了很久,也改了很久,经测试后消息可以从广州发到aws上,但是却不能从aws返回到广州,刚开始以为是我的超时这些设置有问题,可是改了之后还是不行,然后就决定再把HAProxy配置的各个属性重新复习一下,后来发现backend里面的balance配置分为两种:roundrobin和source模式。
其中关于这两种模式的介绍如下:
BALANCE 选项:
balance source :如果想让HAProxy按照客户端的IP地址进行负载均衡策略,即同一IP地址的所有请求都发送到同一服务器时,需要配置此选项。
balance roundrobin :HAProxy把请求轮流的转发到每一个服务器上,依据每台服务器的权重,此权重会动态调整。最常见的默认配置。
由于我只是专线,并不需要进行负载均衡,因此需要把balance设置成source,至此重新测试,一切正常。
最近我做的项目是进行公司广州合作机房到aws亚马逊机房之间产生的延时,其中此链路的线路如下:
广州合作机房---->深圳自研机房---->北美自研机房---->aws
针对于这个链路,我们需要在深圳自研机房和北美自研机房上分别架上HAProxy代理进行消息的转发,而由于测速是使用自己用socket写的TCP ping包,就要求TCP包能沿着源链路返回到广州节点上,也就是说其是双向通信的。
刚开始我的配置文件如下:
####################全局配置信息######################## #######参数是进程级的,通常和操作系统(OS)相关######### global log 127.0.0.1 local0 #[err warning info debug] uid 1005 #所属运行的用户uid gid 1005 #所属运行的用户组 daemon #以后台形式运行haproxy pidfile /var/run/haproxy.pid #haproxy的pid存放路径,启动进程的用户必须有权限访问此文件 maxconn 4096 ##################默认的全局设置#################### defaults log global retries 3 maxconn 2000 mode tcp #所处理的类别 (#7层 http;4层tcp) option redispatch #serverId对应的服务器挂掉后,强制定向到其他健康的服务器 timeout connect 5000 #连接超时 timeout client 50000 #客户端超时 timeout server 50000 #服务器超时 timeout check 2000 #心跳检测超时 ####################监控页面的设置#################### listen admin_status bind 0.0.0.0:3306 #监听端口 mode http #http的7层模式 option httplog #http日志 maxconn 10 #最大连接数 log 127.0.0.1 local0 err #错误日志记录 stats refresh 10s #每隔10秒自动刷新监控页面 stats uri /admin?stats #监控页面的url stats auth admin:admin #监控页面的用户和密码admin,可以设置多个用户名 stats hide-version #隐藏统计页面上的HAproxy版本信息 ########frontend配置############ #####注意:frontend配置里面可以定义多个acl进行匹配操作######## frontend tcp_in bind 0.0.0.0:3366 #监听端口 default_backend myback backend myback balance roundrobin server mysock 目的IP地址:3366 maxconn 1024 weight 5 check inter 2000 rise 2 fall 3 listen 3366 bind 0.0.0.0:3366 mode tcp
以上是我在北美的HA的配置,可是测试了很久,也改了很久,经测试后消息可以从广州发到aws上,但是却不能从aws返回到广州,刚开始以为是我的超时这些设置有问题,可是改了之后还是不行,然后就决定再把HAProxy配置的各个属性重新复习一下,后来发现backend里面的balance配置分为两种:roundrobin和source模式。
其中关于这两种模式的介绍如下:
BALANCE 选项:
balance source :如果想让HAProxy按照客户端的IP地址进行负载均衡策略,即同一IP地址的所有请求都发送到同一服务器时,需要配置此选项。
balance roundrobin :HAProxy把请求轮流的转发到每一个服务器上,依据每台服务器的权重,此权重会动态调整。最常见的默认配置。
由于我只是专线,并不需要进行负载均衡,因此需要把balance设置成source,至此重新测试,一切正常。
相关文章推荐
- haproxy 安装与配置以及遇到的问题
- 解决在Eclipse中配置JBoss、Tomcat等插件时遇到的问题 (转)
- Tomcat连接池配置遇到的问题
- 老鸟遇到新问题——JDK环境变量的配置
- Windows2003配置ASP我遇到的小问题。。
- jboss配置JMS服务遇到的小问题
- 解决在Eclipse中配置JBoss、Tomcat等插件时遇到的问题
- linux 配置mysql遇到的一个问题
- weblogic下配置连接池遇到的问题
- 用Entlib的配置程序块遇到的问题
- Policy Agent单点登陆系统配置中遇到的问题摘记
- Win2003下Asp配置技巧[本人实际遇到的问题]
- 老鸟遇到新问题——JDK环境变量的配置
- 昨天遇到wsad服务器配置的问题
- 搭建配置服务器过程中遇到的问题及其解决办法(转)
- tomcat 5.0配置error-page时遇到的小问题
- 在windows2003下安装Microsoft SQL Server2000企业版后配置客户端ODBC遇到的问题及解决方法