- 浏览: 3507380 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wanglf1207:
EJB的确是个不错的产品,只是因为用起来有点门槛,招来太多人吐 ...
weblogic-ejb-jar.xml的元素解析 -
qwfys200:
总结的不错。
Spring Web Flow 2.0 入门 -
u011577913:
u011577913 写道也能给我发一份翻译文档? 邮件437 ...
Hazelcast 参考文档-4 -
u011577913:
也能给我发一份翻译文档?
Hazelcast 参考文档-4 -
songzj001:
DbUnit入门实战
什么是ha-proxy
HA-Proxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案,特别适用于那些负载
特大的web站点。运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,
同时可以保护你的web服务器不被暴露到网络上
HA-Proxy相比 LVS 的使用要简单很多,功能方面也很丰富。 HA-Proxy 可以在 4 , 7 两层作负载均衡, 4 层大多用于邮件服务器、内部协议通信服务器等作负载均衡, 7 层用于 Http 分析负载转发。
在 HA-Proxy 官方网站可以下载配置说明文档 (configuration.txt) 和架构文件 (architecture.txt) 作为参考。具体的使用细节不做太多介绍,这里主要通过具体的配置来大致说一下 HA-Proxy 的结构。
HA-Proxy
配置中分成四部分内容,当然这些组件不是必选的,可以根据需要选择部分作为配置。
Defaults
组件是配置默认参数的,这些参数可以被利用配置到
frontend
,
backend
,
listen
组件中(当这些组件某些参数没有被配置而在
Defaults
中配置了)。
Frontend
组件是接收请求的前端虚拟节点,就类似于
LVS
中配置了
VIP
的
Load Balancer
,
Frontend
可以直接指定后端指向那一个
backend(
可动态选择
)
。
Backend
是后端服务集群的配置,类似于
LVS
中的那些
Real Server
,一个
Backend
对应一个或者多个实体服务器。
Listen
是
Frontend
和
Backend
的组合体,可以直接定义一个类似于
JBoss
的
Server Farm
。还有一些默认的配置可以通过在配置文件中配置或者在命令行中作为参数输入。
安装haproxy
tar zxvf haproxy-1.4.8.tar.gz
cd haproxy-1.4.8
uname -a //查看linux内核版本
make TARGET=linux26 PREFIX=/usr/local/haproxy #TARGET是内核版本,2.6就写作26
make install PREFIX=/usr/local/haproxy
执行/usr/local/haproxy目
录下执行haproxy,如
果如果有使用说明出现表示已经安装正常。
使用时使用haproxy -f 配置文件地址
HA-Proxy
日志配置说明:
acl app1 url_sub -i app=app1 //在请求url
中含app=app1,则此策略为true,否则为false
acl app2 url_sub -i app=app2 //在请求url中含app=app2,则此策略为true,否则为false
acl invalid_req url_sub -i app= //在请求url中若包含app=,则此策略为true,否则为false
acl stat_req url_dir -i admin //在请求url中admin作为部分路径时,则此策略为true,否则为false
block if !invalid_req !stat_req //block表示阻止,返回403状态码,表示当前url请求既不满足invalid_req策略也不满足stat_req策略
use_backend app1_server if app1 //如果满足app1策略,使用app1_server做为后端集群
use_backend app2_server if app2 //如果满足app2策略,使用app2_server做为后端集群
default_backend app1_server //app1_server作为默认集群
backend app1_server //后端接点定义
mode http
balance roundrobin //负载均衡策略配置
cookie SERVERID //允许插入serverid到cookieid中,serverid后面要定义
server app1_test1 192.168.1.101:80 cookie 1 check fall 5 weight 1
//真实服务器配置定义cookie1 表示serverid为1,check表示需要状态检查,fall 5
表示失败5次就认为服务器不可用,weight表示权重
server app1_test2 192.168.1.102:80 cookie 1 check fall 5 weight 1
backend app2_server //后端接点定义
mode http
server app2_test 192.168.1.103:80 check fall 5
完成配置后,执行
haproxy –f haproxy.cfg
,后台进程就可以启动了,然后在浏览器中输入刚才定义的状态检查地址http://ip:8181/admin?stats
可以看到结果.
HA-Proxy
可以收集本机及其他后端服务器日志,但是需要在
Load Balancer
上作一些配置。
首先修改
/etc/sysconfig/syslog
文件,将
SYSLOGD_OPTIONS="-m 0”
修改为
SYSLOGD_OPTIONS="-m 0 -r -x"
,支持收集远程服务器日志。
然后修改
/etc/syslog.conf
,增加如下语句:
#add by haproxy
local0.*
/home/admin/tools/haproxy-1.3.17/haproxy.log
// haproxy.log
地址代表了需要存储日志的地址
执行
service syslog restart
,重新启动系统日志器
最后就是在
HA-Proxy
的配置中增加日志输出(具体可以参考后面的配置文件说明)
HA-Proxy
配置文件说明:
下面的配置文件简单来说就是配置了根据请求参数的不同,将请求分别定向到后端的app1集群和app2集群。
具体配置文件
(haproxy.cfg)
如下:
global //全局设置
log 127.0.0.1 local0 info //日志输出配置,所有日志都记录在本机,通过local0输出,我们前面已经配置了local0
maxconn 51200 //最大连接数
user www //执行ha-proxy的用户
group www //执行ha-proxy的组
pidfile /var/run/haproxy.pid //pid 文件存放的位置
nbproc 2 //启动2个ha-proxy实例
daemon //以后台形式运行ha-proxy
#debug
#quiet
defaults //默认设置
mode http //默认采用http模式,可配置成tcp作4层消息转发
option httplog //采用httplog
retries 3 //3次连接失败就认为服务器不可用,主要通过后面的check检查
maxconn 2000 //最大连接数
contimeout 5000 //连接超时时间
clitimeout 5000 //客户端连接超时时间
srvtimeout 5000 //服务器端连接超时时间
stats uri /admin?stats //服务器状态查看页面
stats auth bikong0411:bikong0411 //服务器状态查看页面身份验证,可以不设置
option httpchk HEAD /welcome.html HTTP/1.1 //服务器状态设置,这里是向每一个后端服务器请求/welcome.html来检测健康状况
frontend http-in //前端节点定义
bind :8181 //虚拟服务器监听8181端口,也可以写作ip:port这种形式
mode http
log global
opention httplog
opention httpclose //每次请求完毕后主动关闭http通道,ha-proxy不支持keep-alive,只能模拟这种模式的实现
opention forwardfor //如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip
capture request header Host len 20 //此配置和以下类似都是抓取http请求的参数记录到日志的
capture request header User-Agent len 10
capture request header Referer len 20
capture request header Content-Length len 10
//控制策略设置
发表评论
-
collectd
2011-08-03 14:27 2284collectd是一个守护(daemon)进程,用来收集系 ... -
HP ASR(Automatic Server Recovery)机制
2011-04-15 14:24 3562ASR(Automatic Server Re ... -
LINUX下用HP的IML工具查看服务器的日志信息
2011-04-14 16:40 4908LINUX下用HP的IML工具查看 ... -
LINUX做服务器的无盘系统
2011-01-26 18:19 1928客户端是支持PXE方式启 ... -
简易搭建一个私有云平台
2010-11-17 18:30 3228众说周知Amazon EC2是一个公共云的计算平台,属于Iaa ... -
[HA]利于heartbeat构建Oracle高可用
2010-09-17 12:41 477910月 24th, 2008 @ Kevin.yuan ... -
服务部署--IP SAN潜在的关键应用
2010-08-26 09:38 2106IP SAN可以说是近几年来存储领域的关键技术之一, ... -
通过HAProxy构建开源负载均衡架构平台
2010-08-09 00:07 50301. 目的 通过此作业指导书,知道如何使用ubu ... -
MySQL负载均衡
2010-08-08 23:39 47151. 添加监控MySQL状态的端口 # vi /etc/se ... -
SQL Server 各版本的区别
2010-08-08 17:49 4057SQL Server 2005 Enterprise Ed ... -
Oracle数据库11g版本介绍
2010-08-08 17:44 3481无论您是独立开发者、中小企业还是大型企业,这些世界一 ... -
tpmC简单计算法
2010-07-29 18:59 17974计算原则: 以单台服务器性能进行计算,即确保单台服务器工作的时 ... -
KVM遥控服务器群
2010-07-07 15:54 2158众所周知,所谓KVM,就是键盘(Keyboard)、显示器 ... -
数据存储配置参考
2010-07-02 10:07 1794型号 配 置 数量 ... -
More Numbers (OpenDS and a hint at ApacheDS)
2010-04-29 23:45 2480Some more numbers have come in. ... -
利用Copssh在windows下搭建ssh服务
2010-03-09 01:04 13437现在远程维护基本上用ssh连接,linux系 ... -
Taking a load off: Load balancing with balance
2010-03-05 16:00 1785A server is limited in how man ... -
Software Based Load Balancers
2010-03-05 15:57 1848keyword:Load Balance ref: http ... -
SAN,NAS,DAS及其架构之间区别
2010-02-26 14:11 1715随着计算机技术的发展 ... -
Apache: Creating A Session-Aware Loadbalancer Using mod_proxy_balancer (Debian E
2010-02-12 14:45 3176Since Apache 2.1, a new module ...
相关推荐
此外,`dfs.client.failover.proxy.provider.*`定义了客户端使用的失败切换代理提供商,使得客户端可以在名称节点间自动切换。 **yarn-site.xml**:YARN(Yet Another Resource Negotiator)是Hadoop的资源管理器,...
本篇文档将介绍如何使用二进制方式部署Kubernetes v1.13.4高可用(HA)集群。这种部署方式适用于那些希望通过手动配置来深入理解k8s工作原理的用户。 首先,二进制部署不同于使用kubeadm工具的自动化部署,它需要...
在深入讨论Kubernetes Master High Availability(高可用性)的高级实践...而文档中提到的唐继元先生和caicloud.io的信息表明这可能是来自于CloudCare公司的一次培训或演讲,专业性和实用性较高,值得深入学习和实践。
- **Kube-proxy**:负责维护节点上的网络规则,实现服务(Service)的网络路由。 #### 高可用集群环境规划 在本节中,我们将详细介绍如何规划并部署单master或多master的高可用K8s运行环境。 ##### 单master高可用...
5. 部署工作节点:在每个工作节点上安装kubelet和kube-proxy。 6. 配置网络策略和存储解决方案。 7. 验证集群状态和功能。 五、详细文档笔记的价值 提供的文档笔记可能是安装过程的记录,包括了配置细节、遇到的...
Kubernetes作为业界领先的容器编排系统,其高可用性(HA)对于生产环境至关重要。这里我们将详细探讨如何利用k8s-v.1.14.2版本来搭建一个完整的集群,并重点介绍kubeadmin的高可用安装包和相关文档笔记。 首先,...
在高可用性(HA)集群设置中,至少有三个主节点,以确保即使在一个或两个节点故障时,集群仍能正常运行。KubeKey支持这种配置,可以轻松地创建多主节点的集群。 接下来,我们进入KubeKey 2.2.1的安装步骤: 1. **...
高可用性(High Availability,简称HA)Proxy的部署是为了在主服务器出现故障时提供故障转移,确保服务的连续性不被中断。T-Server作为Genesys产品系列的一部分,能够在呼叫中心环境中集成多个通信渠道,并与Genesys...
Apache2.2与Tomcat6集群配置教程 在IT行业中,服务器集群是一种常见的技术,用于提高系统的可用性和可扩展性。本教程将详细介绍如何在Apache2.2与Tomcat6环境下...不断学习和优化,才能构建更强大、可靠的集群系统。
服务器的高可用性(High Availability, HA)是确保业务连续性和稳定性不可或缺的要素。本资料"Linux运维-03-服务器的高可用-03配置.zip"着重介绍了如何在Linux环境中实现服务器的高可用性配置。 首先,我们要理解...
当主节点故障,HA系统会在30秒内完成主备切换。单副本则无实时同步的备用节点,适用于纯缓存场景。读写分离版针对读多写少的业务,通过Proxy节点实现读写分离,优化读取性能。 2. 双副本模式 在双副本模式中,主从...
描述中的"HA_SE_design模式"和"另一个任务"可能是指一个特定的学习或项目任务,专注于理解或应用设计模式。 在Java领域,设计模式不仅提高了代码的可读性、可维护性和可扩展性,还促进了团队间的沟通。以下是一些...
PMIP IPV6.txt可能讨论了_proxy Mobile IPv6_,这是IPv6中为移动网络设计的一种更优化的方案,旨在减少延迟和提高性能。 7. **学习资源**: - `rfc3344-IP mobility support for ipv4.htm` 提供了IPv4移动IP的...
- 示例:对于Apache,可以使用mod_proxy和mod_jk模块。 3. **启用会话复制** - 在`conf/server.xml`文件中配置`<Cluster>`元素: ```xml <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"> ...
高可用性(HA)是指系统在面临故障时仍能保持正常运行的能力,对于K8s集群来说,通常包括多个控制平面节点和工作节点,以确保服务连续性。 Ansible则是一个基于YAML的配置管理工具,通过编写Playbook,我们可以定义...
4. **高可用性与容错**:学习如何利用vSphere High Availability (HA)、Distributed Resource Scheduler (DRS)和Fault Tolerance (FT)来提高虚拟化环境的可靠性。 5. **备份与恢复**:理解vSphere备份策略,包括...
* 学习使用Proxy策略 * 用户身份认证 四、高级培训概要 XTM高级培训课程概要包括了: * 多WAN口的设计 * 使用QoS和网络流量管理 * VLAN的使用 * HA的配置 * 使用Management Server进行集中管理 五、认证考试 ...
首先,`keepalived`是一个开源项目,主要用于实现Linux服务器的高可用性(HA)。它基于VRRP(Virtual Router Redundancy Protocol)协议,可以在主服务器出现故障时自动将流量切换到备份服务器,确保服务的不间断...
对于基于内存的session复制,Tomcat可以通过`org.apache.catalina.ha.session.DeltaManager`作为session manager,但这种方式需要所有Tomcat实例之间进行实时同步,网络负担较大。另一种方法是利用Nginx的sticky模块...