中间件服务器架构:Keepalived+HaProxy+Thrift
2016-09-01 16:20
281 查看
目录:
1.原理图
2.CentOS 6.5下安装Haproxy
3.CentOS 6.5下安装Keepalived
4.windows下启动ThriftServer(Linux同理)
5.windows下启动ThriftClient(Linux同理)
相关文章: http://blog.csdn.net/ceasadan/article/details/52277136 《安装Thrift并写一个简单的测试程序》
http://blog.csdn.net/ceasadan/article/details/52317586 《Thrift小试牛刀:实现Windows_C#_客户端与Linux_C++_服务端通信》
http://blog.csdn.net/ceasadan/article/details/52318585 《Thrift应用:Windows下C#服务端实现》
http://blog.csdn.net/ceasadan/article/details/52369045 《使用HaProxy实现Thrift服务端的负载均衡》
一.原理图
a.客户端
所有ThriftClient通过keepalived发布的虚拟IP访问(1个IP);
b.KeepAlived+Haproxy的服务器集群
KeepAlived和Haproxy部署在同一台Linux服务器;
KeepAlived监测Haproxy运行状态,如果Haproxy停止了,就重新启动Haproxy;
KeepAlived+Haproxy的服务器集群保证了服务的可靠性;
c.Haproxy负载均衡
Haproxy维护与多个ThriftServer的链接,并实现负载均衡;
Haproxy还可在网页上显示ThriftServer的运行状态;
d.ThriftServer集群
保证了ThriftServer服务提供的可靠性;
待完善:
1.KeepAlived监测Haproxy运行状态,并发邮件通知管理员
二.CentOS 6.5下安装Haproxy
1.下载解压:
下载:http://download.csdn.net/tag/haproxy
解压:tar xvf haproxy-1.6.4.tar.gz
2.编译
进入目录:cd haproxy-1.6.4
make TARGET=linux2628 CPU=x86_64 PREFIX=/usr/local/haprpxy
3.安装
make install PREFIX=/usr/local/haproxy
4.创建配置文件目录
mkdir -p /etc/haproxy
5.编辑配置文件
vi /etc/haproxy/haproxy.cfg
6.#拷贝安装包haproxy-1.6.4/examples目录下的文件
cp haproxy.init /etc/init.d/haproxy
chmod 775 /etc/init.d/haproxy #授权
sed -i "s/BIN=\/usr\/sbin/BIN=\/usr\/local\/sbin/g" /etc/init.d/haproxy #修改执行路径
cp -r errorfiles/ /etc/haproxy/ #HTTP响应文件
7.日志文件:
a.
#打开haproxy日志,编辑文件
vi /etc/rsyslog.d/haproxy.conf
添加配置:
b.
vi /etc/sysconfig/rsyslog
#SYSLOGD_OPTIONS="-c 5" #注释掉默认配置
#注:
#-c 2 使用兼容模式,默认是 -c 5
#-r 开启远程日志
#-m 0 标记时间戳。单位是分钟,为0时,表示禁用该功能
c.
#重启系统日志服务
service rsyslog restart
8.启动服务
启动服务:
# /usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg
重启服务:
# /usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg -st `cat /usr/local/haproxy/logs/haproxy.pid` (没有换行)
停止服务:
/etc/init.d/haproxy stop
9.查看监控网页
http://localhost:1080/stats
usr:admin
psw:admin
三.CentOS 6.5下安装Keepalived
1.下载解压
官网下载:http://www.keepalived.org/
tar zxvf keepalived-1.2.23.tar.gz
cd keepalived-1.2.23
./configure --prefix=/
编译:make
安装:make install(需要管理员权限su)
2.移动配置文件
#cd /etc/keepalived/
#mv keepalived.conf keepalived.conf.default
3.配置文件配置
#vi keepalived.conf
说明:
virtual_ipaddress {
192.168.1.200 }
thrift客户端:连接此IP,端口号还是haproxy开放的端口号8888
4.配置check_haproxy.sh(启动keepalived时,自动启动haproxy,并且监听haproxy,haproxy停掉后自动启动)
#vi /etc/keepalived/check_haproxy.sh
#chmod 755 /etc/keepalived/check_haproxy.sh
5.启动keepalived
/etc/init.d/keepalived start (这条命令会自动把haproxy启动)
附:停止命令
/etc/init.d/keepalived stop
四.windows下启动ThriftServer(Linux同理)
五.windows下启动ThriftClient(Linux同理)
1.原理图
2.CentOS 6.5下安装Haproxy
3.CentOS 6.5下安装Keepalived
4.windows下启动ThriftServer(Linux同理)
5.windows下启动ThriftClient(Linux同理)
相关文章: http://blog.csdn.net/ceasadan/article/details/52277136 《安装Thrift并写一个简单的测试程序》
http://blog.csdn.net/ceasadan/article/details/52317586 《Thrift小试牛刀:实现Windows_C#_客户端与Linux_C++_服务端通信》
http://blog.csdn.net/ceasadan/article/details/52318585 《Thrift应用:Windows下C#服务端实现》
http://blog.csdn.net/ceasadan/article/details/52369045 《使用HaProxy实现Thrift服务端的负载均衡》
一.原理图
a.客户端
所有ThriftClient通过keepalived发布的虚拟IP访问(1个IP);
b.KeepAlived+Haproxy的服务器集群
KeepAlived和Haproxy部署在同一台Linux服务器;
KeepAlived监测Haproxy运行状态,如果Haproxy停止了,就重新启动Haproxy;
KeepAlived+Haproxy的服务器集群保证了服务的可靠性;
c.Haproxy负载均衡
Haproxy维护与多个ThriftServer的链接,并实现负载均衡;
Haproxy还可在网页上显示ThriftServer的运行状态;
d.ThriftServer集群
保证了ThriftServer服务提供的可靠性;
待完善:
1.KeepAlived监测Haproxy运行状态,并发邮件通知管理员
二.CentOS 6.5下安装Haproxy
1.下载解压:
下载:http://download.csdn.net/tag/haproxy
解压:tar xvf haproxy-1.6.4.tar.gz
2.编译
进入目录:cd haproxy-1.6.4
make TARGET=linux2628 CPU=x86_64 PREFIX=/usr/local/haprpxy
3.安装
make install PREFIX=/usr/local/haproxy
4.创建配置文件目录
mkdir -p /etc/haproxy
5.编辑配置文件
vi /etc/haproxy/haproxy.cfg
###########全局配置######### global daemon nbproc 1 pidfile /var/run/haproxy.pid ########默认配置############ defaults mode http #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK retries 2 #两次连接失败就认为是服务器不可用,也可以通过后面设置 option redispatch #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器 option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接 maxconn 4096 #默认的最大连接数 timeout connect 5000ms #连接超时 timeout client 30000ms #客户端超时 timeout server 30000ms #服务器超时 #timeout check 2000 #=心跳检测超时 log 127.0.0.1 local0 err #[err warning info debug] ########统计页面配置######## listen admin_stats bind 0.0.0.0:1080 #监听端口 mode http #http的7层模式 option httplog #采用http日志格式 #log 127.0.0.1 local0 err maxconn 10 stats refresh 30s #统计页面自动刷新时间 stats uri /stats #统计页面url stats realm XingCloud\ Haproxy #统计页面密码框上提示文本 stats auth admin:admin #统计页面用户名和密码设置 stats hide-version #隐藏统计页面上HAProxy的版本信息 ########testThrift配置################# listen ThriftServer bind 0.0.0.0:8888 balance roundrobin mode tcp option tcplog option tcp-check #maxconn 4086 log 127.0.0.1 local2 debug server ThriftServer1 172.16.61.160:9090 check server ThriftServer2 192.168.1.199:9090 check ########frontend配置##############
6.#拷贝安装包haproxy-1.6.4/examples目录下的文件
cp haproxy.init /etc/init.d/haproxy
chmod 775 /etc/init.d/haproxy #授权
sed -i "s/BIN=\/usr\/sbin/BIN=\/usr\/local\/sbin/g" /etc/init.d/haproxy #修改执行路径
cp -r errorfiles/ /etc/haproxy/ #HTTP响应文件
7.日志文件:
a.
#打开haproxy日志,编辑文件
vi /etc/rsyslog.d/haproxy.conf
添加配置:
# Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 local0.* /var/log/haproxy.log local1.* /var/log/haproxy.log
b.
vi /etc/sysconfig/rsyslog
#SYSLOGD_OPTIONS="-c 5" #注释掉默认配置
SYSLOGD_OPTIONS="-c 2 -r -m 0" #添加新配置
#注:
#-c 2 使用兼容模式,默认是 -c 5
#-r 开启远程日志
#-m 0 标记时间戳。单位是分钟,为0时,表示禁用该功能
c.
#重启系统日志服务
service rsyslog restart
8.启动服务
启动服务:
# /usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg
重启服务:
# /usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg -st `cat /usr/local/haproxy/logs/haproxy.pid` (没有换行)
停止服务:
/etc/init.d/haproxy stop
9.查看监控网页
http://localhost:1080/stats
usr:admin
psw:admin
三.CentOS 6.5下安装Keepalived
1.下载解压
官网下载:http://www.keepalived.org/
tar zxvf keepalived-1.2.23.tar.gz
cd keepalived-1.2.23
./configure --prefix=/
编译:make
安装:make install(需要管理员权限su)
2.移动配置文件
#cd /etc/keepalived/
#mv keepalived.conf keepalived.conf.default
3.配置文件配置
#vi keepalived.conf
! Configuration File for keepalived vrrp_script chk_http_port { script "/etc/keepalived/check_haproxy.sh" interval 2 weight 2 global_defs { router_id LVS_DEVEL } vrrp_instance VI_1 { state MASTER #备用keepalived主机上改为BACKUP interface eth0 virtual_router_id 51 priority 150 #备用keepalived主机上改为120 advert_int 1 authentication { auth_type PASS auth_pass 1111 } track_script { chk_http_port } virtual_ipaddress { 192.168.1.200 } } }
说明:
virtual_ipaddress {
192.168.1.200 }
thrift客户端:连接此IP,端口号还是haproxy开放的端口号8888
4.配置check_haproxy.sh(启动keepalived时,自动启动haproxy,并且监听haproxy,haproxy停掉后自动启动)
#vi /etc/keepalived/check_haproxy.sh
#!/bin/bash A=`ps -C haproxy --no-header |wc -l` if [ $A -eq 0 ];then /usr/local/haproxy/sbin/haproxy -f /etc/haproxy/haproxy.cfg sleep 3 if [ `ps -C haproxy --no-header |wc -l` -eq 0 ];then /etc/init.d/keepalived stop fi fi授权:
#chmod 755 /etc/keepalived/check_haproxy.sh
5.启动keepalived
/etc/init.d/keepalived start (这条命令会自动把haproxy启动)
附:停止命令
/etc/init.d/keepalived stop
四.windows下启动ThriftServer(Linux同理)
五.windows下启动ThriftClient(Linux同理)
相关文章推荐
- 网站收藏大全
- 360网站卫士常用前端公共库CDN服务停掉了
- 基于DALN方案C/S架构运用
- IISscanner暴力破解IIS网站目录
- 我的个人网站
- 网站开发
- 详解当当网的分布式架构Elastic-Job
- 如何建立需求分析的系统架构?
- 大型网站系统与Java中间件实践 第5章 数据访问层
- 手机QQ浏览器背后技术和服务架构
- 架构随想
- 软件架构设计 温昱著 - 读书笔记
- 软件架构风格整理(5 仓库风格 6复制风格) .
- 软件架构风格整理(3 独立构件风格 4 虚拟机风格)
- 软件架构风格整理(2 调用/返回) .
- 架构风格和架构模式速览
- 架构能力
- 如何订阅没有RSS输出的网站
- 英文网站注册常用词汇
- ios开源代码博客书籍及网站(谷粉搜搜)