Web高并发访问:用HAPorxy实现负载均衡
HAProxy是一款反向代理服务器工具,通过它,可以实现负载均衡。它支持双机热备支持虚拟主机,但其配置简单,拥有非常不错的服务器健康检查功能,当其代理的后端服务器出现故障, HAProxy会自动将该服务器摘除,故障恢复后再自动将该服务器加入。新的1.3引入了frontend,backend,frontend根据任意HTTP请求头内容做规则匹配,然后把请求定向到相关的backend.
利用HAPorxy实现负载均衡
1. 利用HAProxy实现负载均衡
192.168.169.137 (haproxy)———负载均衡———-(192.168.169.117;192.168.169.118)
安装配置HAproxy
cd /usr/local/
wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.14.2.tar.gz
tar zxvf haproxy-1.3.14.2.tar.gz
mv haproxy-1.3.14.2 haproxy
cd haproxy
make TARGET=linux26
2. 创建配置文件
# vi haproxy.cfg
global
maxconn 5120
chroot /usr/local/haproxy
uid 99
gid 99
daemon
quiet
nbproc 2 #通过nbproc多设置几个haproxy并发进程,这样每个进程的task_queue相对就会短很多,性能自然就能提高不少
#pidfile /var/run/haproxy-private.pid
defaults
log global
mode http
option httplog
option dontlognull
log 127.0.0.1 local3
retries 3
option redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen webfarm 0.0.0.0:80
mode http
stats uri /haproxy-stats #监控haproxy状态
stats realm Haproxy\ statistics
stats auth netseek:52netseek #设置状态监控的用户名为netseek密码为52netseek
balance roundrobin #负载均衡算法
cookie SERVERID insert indirect
option httpclose #
option forwardfor #apache日志转发功能
option httpchk HEAD /check.txt HTTP/1.0 #健康检测
server app_bbs1 192.168.169.117:80 cookie app1inst1 check inter 2000 rise 2 fall 5
server app_bbs2 192.168.169.118:80 cookie app1inst2 check inter 2000 rise 2 fall 5
syslog.conf里加一行
local3.* /var/log/haproxy.log
# touch /var/log/haproxy.log
# chown haproxy:haproxy /var/log/haproxy.log
# chmod u+x /var/log/haproxy.log
# tail –f /var/log/harpoxy.log 监控日志
# ./haproxy -f haproxy.cfg 启动服务.
监控状态图示http://192.168.169.137/haproxy-stats ,输入用户名密码查看状态。
后端apache日志处理
配置httpd.conf
LogFormat “%{X-Forwarded-For}i %l %u %t \”%r\” %>s %b ” combined
CustomLog /var/log/httpd/access_log combined
虚拟主机不记录检测日志:
SetEnvIf Request_URI “^/check\.txt$” dontlog
LogLevel warn
ErrorLog /var/log/httpd/vhost_error.log
CustomLog /var/log/httpd/vhost_access.log combined env=!dontlog
相关介绍
#./haproxy –help //haproxy相关命令参数介绍.
haproxy -f <配置文件> [-n 最大并发连接总数] [-N 每个侦听的最大并发数] [-d] [-D] [-q] [-V] [-c] [-p <pid文件>] [-s] [-l] [-dk]
[-ds] [-de] [-dp] [-db] [-m <内存限制M>] [{-sf|-st} pidlist...]
-d 前台,debug模式
-D daemon模式启动
-q 安静模式,不输出信息
-V 详细模式
-c 对配置文件进行语法检查
-s 显示统计数据
-l 显示详细统计数据
-dk 不使用kqueue
-ds 不使用speculative epoll
-de 不使用epoll
-dp 不使用poll
-db 禁用后台模式,程序跑在前台
-sf <pidlist>
程序启动后向pidlist里的进程发送FINISH信号,这个参数放在命令行的最后
-st <pidlist>
程序启动后向pidlist里的进程发送TERMINATE信号,这个参数放在命令行的最后
原文链接: http://linux.chinaitlab.com/serv...
Web高并发访问:用HAPorxy实现负载均衡相关推荐
- 高并发应用场景下的负载均衡与故障转移实践,AgileEAS.NET SOA 负载均衡介绍与实践...
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
- 手把手让你实现开源企业级web高并发解决方案
本来想起个比较风趣点的标题,可想来思去,还是走常规路线,做一系列的手把手吧. 这样一来,便于我的老朋友们识别,也让我对这篇文章的粒度把我有个定位. 本篇博文主要介绍利用开源的解决方案,来为企业搭建we ...
- 如何才能做到网站高并发访问?
原文:http://oldboy.blog.51cto.com/2561410/615721 如何才能做到网站高并发访问?--之我荐--老男孩 ############################ ...
- 实现网站的高并发访问
高并发访问的核心原则其实就一句话"把所有的用户访问请求都尽量往前推". 如果把来访用户比作来犯的"敌人",我们一定要把他们挡在800里地以外,即不能让他们的 ...
- [转]高并发访问下避免对象缓存失效引发Dogpile效应
避免Redis/Memcached缓存失效引发Dogpile效应 Redis/Memcached高并发访问下的缓存失效时可能产生Dogpile效应(Cache Stampede效应). 推荐阅读:高并 ...
- 视频直播系统开发:如何应对高并发访问?
视频直播开发的挑战 随着移动互联网的快速普及,视频直播已经成为了新的社交媒体形式,也成为了一种新的商业模式.现在,越来越多的人开始使用视频直播来展示自己的生活和工作,同时,越来越多的企业开始将视频直播 ...
- 面试官:为什么单线程的Redis可以实现高并发访问
背景 上回说到小枫在接受面试官的拷打,所幸第一个问题回答的还不错,因此面试官对于小枫的初步印象还行.我们接着来看看小枫是怎么和面试官继续过招的吧,他还能扛得住面试官几个连环炮呢? 面试官考察目的分析 ...
- 大规模集群下Hadoop NameNode如何承载每秒上千次的高并发访问
目录 一.问题源起 二.HDFS优雅的解决方案 (1)分段加锁机制 + 内存双缓冲机制 (2)多线程并发吞吐量的百倍优化 (3)缓冲数据批量刷磁盘 + 网络的优化 四.总结 五.参考文章 一.问题源起 ...
- 蚂蚁围炉夜话回顾:从容应对数据高并发访问和一致性的挑战
云原生(Cloud-Native)到底是什么?这个问题一直很难定义.CNCF技术监督委员会最近通过投票确定了其官方定义.如何使其弹性可扩展.稳定高可用.敏捷易维护等特性应用到现有创新场景? 蚂蚁金服在 ...
最新文章
- 论文解读 Combating Adversarial Misspellings with Robust Word Recognition
- 一个非常棒的jQuery 评分插件--好东西要分享
- Linux下载交通图片数据集CityScapes Dataset
- Linux 条件变量使用细节(为何调用 pthread_cond_wait 前加锁,函数内部解锁,返回时又加锁)
- 实例3:按部门统计工资人数
- 设python中有模块m_Python 模块
- Java开发Web Service的几种解决方案
- 拼多多:钟汉良出任“百亿补贴”星推官
- hadoop异常 java.io.IOException: Job status not available
- 【转发】 iphone开发随笔,有用的
- (转)ASP.NET 3.5 企业级开发
- 有关css3的一些问题
- java多线程系类:JUC线程池:02之线程池原理(一)
- 关于Mac系统中 vs code下使用markdown PDF 安装Chromium失败的解决办法
- 机器学习与医学应用基础(超星尔雅学习通)--答案
- 萤石云摄像头方向操控前端代码
- css 打造3D导航
- Java开发人员幽默外号,好听的外号绰号 好听幽默绰号大全
- 【SVL官方说明文档】
- 阜和SAP FICO模块课程
热门文章
- 4g模块注册上网 移远_Openwrt支持移远4G模块过程记录
- 求生之路 服务器优化参数,《求生之路2》服务器及网络参数优化指南
- python找出文本的位置和替换_python查找文本文档中特定间隔位置的字符并替换
- 初中数学503个必考知识点_初中数学无非就这146个必考知识点,全摸透,轻松应对考试!...
- 临沂大学3加4计算机专业,临沂大学2021年电子信息(计算机技术方向) 硕士研究生调剂工作细则...
- java多线程传值覆盖_Java 多线程传值的四种方法
- 使用PowerDesigner做数据库设计(一)
- 如何缩短visual studio行号的距离
- for循环优化_for 循环和while循环区别
- 蚁剑特征性信息修改简单过WAF