文章目录

  • 1、环境配置
  • 2、haproxy的配置及实验效果
    • 2.1 安装及测试
    • 2.2 设置日至信息的存放
    • 2.3 设置访问密码
    • 2.4 source模式
    • 2.5 default_backend和use_backend的使用
    • 2.6 backup
    • 2.7 设置黑名单及自动跳转网址
    • 2.8 redirect location默认访问地址
    • 2.9 访问控制
    • 2.10 acl write method POST | PUT
  • 3、haproxy+pacemaker高可用
    • 3.1 pacemaker的搭建(集群,没有主辅之分)
    • 3.2 关闭集群指定节点
    • 3.3 禁止掉haproxy服务
    • 3.4 standy节点的使用
    • 3.5 删除vip 关掉haproxy服务
    • 3.6 down掉网卡
  • 4、stonith的设置(fencing设备)
  • 5、nginx 负载均衡

1、环境配置

## server1 server4 关掉keepalived服务
[root@server4 keepalived]# systemctl stop keepalived
[root@server1 keepalived]# systemctl stop keepalived## 删除虚拟vip 刷新arptables策略 打开apache服务
[root@server2 ~]# arptables -F
[root@server2 ~]# ip addr del 192.168.0.101/32 dev eth0
[root@server2 ~]# systemctl start httpd[root@server3 ~]# arptables -F
[root@server3 ~]# ip addr del 172.25.15.100/32 dev eth0
[root@server3 ~]# systemctl start httpd

2、haproxy的配置及实验效果

2.1 安装及测试

4层负责数据转发,7层负责策略文件

## 安装haproxy 编辑配置文件
[root@server1 keepalived]# yum install haproxy -y
[root@server1 keepalived]# cd /etc/haproxy/
[root@server1 haproxy]# vim haproxy.cfg
[root@server1 haproxy]# systemctl stop httpd
[root@server1 haproxy]# systemctl start haproxy
[root@server1 haproxy]# netstat -antlp
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      14757/haproxy
[root@foundation images]# curl 192.168.0.1
server3
[root@foundation images]# curl 192.168.0.1
server2
[root@foundation Desktop]# for i in {1..6};do curl 192.168.0.1;done


两个app 分别是server2 server3

2.2 设置日至信息的存放

[root@server1 haproxy]# vim /etc/rsyslog.conf
[root@server1 haproxy]# systemctl restart rsyslog
[root@server1 haproxy]# systemctl start haproxy.service
[root@server1 haproxy]# cat /var/log/haproxy.log
[root@foundation Desktop]# curl 192.168.0.1
server2
[root@foundation Desktop]# curl 192.168.0.1
server3
[root@foundation Desktop]# curl 192.168.0.1
server2
[root@foundation Desktop]# curl 192.168.0.1
server3




2.3 设置访问密码

[root@server1 log]# cd /etc/haproxy/
[root@server1 haproxy]# vim haproxy.cfg stats auth admin:westos
[root@server1 haproxy]# systemctl reload haproxy.service


2.4 source模式

- 介绍-    源地址散列调度(Source Hashing Scheduling)算法正好与目标地址- 散列调度算法相反,它根据请求的源 IP 地址,作为散列键(Hash Key)从静- 态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送- 到该服务器,否则返回空。
[root@server1 haproxy]# vim haproxy.cfg
[root@server1 haproxy]# systemctl reload haproxy.service

client --> cdn --> haproxy --> server
cdn 是反向的负载均衡,客户端将cdn当成服务器端,cdn从server上获取数据;如果用source模式,不同的客户端经过cdn后,cdn以反向代理的机制访问到haproxy,haproxy能够拿到的地址就是cdn的地址;所有的客户端经过cdn后,cdn的工作方式是反向代理,cdn会帮客户端到后端去取,访问后端的是cdn,haproxy只能知道cdn的地址,一旦用了cdn后,客户端地址就变为cdn地址。

source 相当于ip hash,根据源地址进行判断,源地址一样的时候,后端服务器调度不变。haproxy调度算法没有lvs多。

2.5 default_backend和use_backend的使用

- 配置文件解释
-    default_backend <backend>use_backend <static>在没有匹配的”use_backend”规则时为实例指定使用的默认后端,因此,其不可应用于backend区段。在”frontend”和”backend”之间进行内容交换时,通常使用”use-backend”定义其匹配规则;而没有被规则匹配到的请求将由此参数指定的后端接收。
[root@server1 haproxy]# vim haproxy.cfg
65 frontend  main *:80   ##定义acl访问控制列表 定义url路径acl url_static       path_beg  ##开启     -i /static /images /javascript /stylesheetsacl url_static       path_end   ##结束    -i .jpg .gif .png .css .js##判断定位到哪个后端use_backend static          if url_static   ##静态执行default_backend             app       ##默认访问app   app1 192.168.0.2backend staticbalance     roundrobinserver      static 192.168.0.2:80 checkbackend appbalance     roundrobinserver  app1 192.168.0.3:80 check
[root@server1 haproxy]# systemctl reload haproxy.service [root@foundation Desktop]# curl 192.168.0.1
server3
[root@foundation Desktop]# curl 192.168.0.1
server3
[root@foundation Desktop]# curl 192.168.0.1
server3[root@server2 html]# ls
index.html  vim.jpg
[root@server2 html]# mkdir images
[root@server2 html]# mv vim.jpg images/
[root@server2 images]# ls
vim.jpg


default_backend app 默认

自动定位到server2

默认访问的是server3 app后端

2.6 backup

[root@server1 haproxy]# vim haproxy.cfg
[root@server1 haproxy]# systemctl reload haproxy.service [root@server1 haproxy]# vim /etc/httpd/conf/httpd.conf
Listen 8080
[root@server1 haproxy]# systemctl start httpd
[root@server1 haproxy]# vim /var/www/html/index.html
server1 please try again later[root@server3 haproxy]# systemctl stop httpd
[root@server3 haproxy]# systemctl start httpd


正常的时候不访问backup


server3 后端关闭

2.7 设置黑名单及自动跳转网址

[root@server1 haproxy]# vim haproxy.cfg 69         acl blacklist src 192.168.0.100          ##设置黑名单,屏蔽192.168.0.100tcp-request content reject if blacklist
[root@server1 haproxy]# systemctl reload haproxy.service
[root@foundation ~]# curl 192.168.0.1
curl: (52) Empty reply from server
[root@server4 ~]# curl 192.168.0.1
server3[root@server1 haproxy]# vim haproxy.cfg 69         acl blacklist src 192.168.0.100tcp-request content accept if blacklisttcp-request content reject
[root@server1 haproxy]# systemctl reload haproxy.service
[root@foundation ~]# curl 192.168.0.1
server3
[root@server4 ~]# curl 192.168.0.1
curl: (52) Empty reply from server[root@server1 haproxy]# vim haproxy.cfg 69         acl blacklist src 192.168.0.10074         block if blacklist            ##直接屏蔽,禁用blacklist,发生403错误
[root@server1 haproxy]# systemctl reload haproxy.service
[root@foundation ~]# curl 192.168.0.1 -I
HTTP/1.0 403 Forbidden
Cache-Control: no-cache
Connection: close
Content-Type: text/html[root@server1 haproxy]# vim haproxy.cfg 75         errorloc 403 http://www.baidu.com   ##发生403错误 重定向到百度
[root@server1 haproxy]# systemctl reload haproxy.service
[root@foundation ~]# curl 192.168.0.1 -I
HTTP/1.1 302 Found
Cache-Control: no-cache
Content-length: 0
Location: http://www.baidu.com

浏览器访问192.168.0.1 自动重定向到百度。

2.8 redirect location默认访问地址

直接进行重定向

[root@server1 haproxy]# vim haproxy.cfg redirect location http://www.toabao.com if blacklist
[root@server1 haproxy]# systemctl reload haproxy.service
[root@foundation ~]# curl 192.168.0.1 -I
HTTP/1.1 302 Found
Cache-Control: no-cache
Content-length: 0
Location: http://www.toabao.com
Connection: close
[root@server4 ~]# curl 192.168.0.1
server3

2.9 访问控制

[root@server1 haproxy]# vim haproxy.cfg acl denyjpg path /images/vim.jpghttp-request deny if denyjpg blacklist
[root@server1 haproxy]# systemctl reload haproxy.service




server4 成功获取

2.10 acl write method POST | PUT

- (读的时候是默认的app,在server2上,写的时候的在server3上,
- 数据存储在server3上,server2和server3上需要同样的文件,实现读写分离)
[root@server1 haproxy]# vim haproxy.cfg acl write method PUTacl write method POSTuse_backend static          if url_static write
[root@server1 haproxy]# systemctl reload haproxy.service

[root@server3 ~]# cd /var/www/html/
[root@server3 html]# ls
index.html  upload
[root@server3 html]# cd upload/
[root@server3 upload]# ls
index.php  upload_file.php
[root@server3 upload]# mv index.php ..
[root@server3 upload]# cd ..
[root@server3 html]# yum install -y php
[root@server3 html]# systemctl restart httpd
[root@server3 html]# cat index.php
<html>
<body><form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form></body>
</html>[root@server3 html]# vim upload/upload_file.php
<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 2000000))   ##更改大小{if ($_FILES["file"]["error"] > 0){echo "Return Code: " . $_FILES["file"]["error"] . "<br />";}else{echo "Upload: " . $_FILES["file"]["name"] . "<br />";echo "Type: " . $_FILES["file"]["type"] . "<br />";echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";if (file_exists("upload/" . $_FILES["file"]["name"])){echo $_FILES["file"]["name"] . " already exists. ";}else{move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]);echo "Stored in: " . "upload/" . $_FILES["file"]["name"];}}}
else{echo "Invalid file";}
?>
[root@server3 html]# chmod 777 upload
[root@server3 html]# cd upload/
[root@server3 upload]# ls
上传照片后 没有

192.168.0.1/index.php 默认访问server3

上传照片 404错误 访问的是server2上后端的页面。

[root@foundation15 html]# scp upload_file.php 192.168.0.2:/var/www/html/
[root@server2 html]# ls
index.html  upload_file.php
[root@server2 html]# yum install -y php
[root@server2 html]# vim upload_file.php
&& ($_FILES["file"]["size"] < 2000000))
[root@server2 html]# systemctl restart httpd
[root@server2 html]# mkdir upload
[root@server2 upload]# chmod 777 /var/www/html/upload
提交成功
[root@server2 upload]# ls
vim.jpg

192.168.0.1/index.php 默认访问server3,server3只是前期的访问动作,当判断是上传动作时,切到server2。读在server3,写在server2上。读写分离。
haproxy定向到server2 照片最终上传到server2上的upload文件

3、haproxy+pacemaker高可用

3.1 pacemaker的搭建(集群,没有主辅之分)

实验前配置pacemaker

[root@server1 haproxy]# cd /etc/yum.repos.d/
[root@server1 yum.repos.d]# ls
redhat.repo  westos.repo
[root@server1 yum.repos.d]# vim westos.repo  ##添加行
[HighAvailability]
name=rhel7.6
baseurl=http://192.168.0.100/rhel7.6/addons/HighAvailability
gpgcheck=0
## 安装
[root@server1 yum.repos.d]# scp westos.repo  server4:/etc/yum.repos.d/
[root@server1 yum.repos.d]# yum install -y pacemaker pcs psmisc policycoreutils-python.x86_64
[root@server1 yum.repos.d]# ssh server4 yum install -y pacemaker pcs psmisc policycoreutils-python.x86_64 ## server1 4 安装并开启pacemaker服务,
[root@server1 yum.repos.d]# systemctl enable --now pcsd.service
[root@server1 yum.repos.d]# ssh server4 systemctl enable --now pcsd.service ## 安装后会自动生成一个用户hacluster,需要为他设置一个密码。
[root@server1 yum.repos.d]# echo westos | passwd --stdin hacluster
[root@server1 yum.repos.d]# ssh server4 "echo westos | passwd --stdin hacluster"## 将server1 4 设置成管理用户
[root@server1 yum.repos.d]# pcs cluster auth server1 server4
Username: hacluster
Password: westos
[root@server1 yum.repos.d]# pcs cluster setup --name mycluster server1 server4
[root@server1 ~]# pcs cluster start --all  ##开启集群心跳程序
server1: Starting Cluster (corosync)...   ##corosync 心跳,基于openas开发的
server4: Starting Cluster (corosync)...
server1: Starting Cluster (pacemaker)...   ##pacemaker 集群资源管理器
server4: Starting Cluster (pacemaker)...
[root@server1 yum.repos.d]# pcs cluster enable --all  ## 开启所有节点,并设置开机自启
[root@server1 yum.repos.d]# pcs status   ##查看集群状态
[root@server1 yum.repos.d]# pcs property set stonith-enabled=false
[root@server1 yum.repos.d]# crm_verify -LV   ## 解决WARNINGS
[root@server1 yum.repos.d]# pcs status

创建名为mycluster的集群,生成并同步server1 4 两个节点

[root@server1 ~]# pcs resource standards ##查看系统自带标准脚本
[root@server1 ~]# pcs status corosync   ##查看心跳的状态
[root@server1 ~]# pcs resource providers  ## 查看资源的提供者
[root@server1 ~]# pcs resource agents ocf:heartbeat  ##列出资源提供者包含的代理
[root@server1 ~]# pcs resource create --help
[root@server1 ~]# pcs resource create vip ocf:heartbeat:IPaddr2 ip=192.168.0.101 op monitor interval=30s  ##创建一个名为vip的资源。
[root@server1 ~]# pcs status
[root@server1 ~]# ip addr


3.2 关闭集群指定节点

失效备元

[root@server1 ~]# pcs cluster stop server1
server1: Stopping Cluster (pacemaker)...
server1: Stopping Cluster (corosync)...
[root@server4 ~]# pcs status
Online: [ server4 ]
OFFLINE: [ server1 ]vip (ocf::heartbeat:IPaddr2):   Started server4
[root@server4 ~]# ip addr[root@server1 ~]# pcs cluster start server1
server1: Starting Cluster (corosync)...
server1: Starting Cluster (pacemaker)...
[root@server1 ~]# pcs statusvip    (ocf::heartbeat:IPaddr2):   Started server4不会切回来 没有主副



3.3 禁止掉haproxy服务

配置自动自动启动haproxy服务

[root@server4 ~]# yum install -y haproxy
[root@server1 ~]# systemctl disable --now haproxy   ##将服务交给集群,手工不能开启
[root@server1 ~]# cd /etc/haproxy/
[root@server1 haproxy]# scp haproxy.cfg server4:/etc/haproxy/[root@server4 ~]# systemctl start haproxy.service
[root@foundation mnt]# curl 192.168.0.4
server3
[root@server4 ~]# systemctl stop haproxy.service
[root@server1 haproxy]# pcs resource standards
lsb
ocf
service
systemd
[root@server1 haproxy]# pcs resource agents systemd
[root@server1 haproxy]# systemctl status haproxy.service
/usr/lib/systemd/system/haproxy.service
[root@server1 haproxy]# pcs resource create haproxy systemd:haproxy op monitor interval=30s
[root@server1 haproxy]# pcs status
[root@foundation upload]# curl 192.168.0.101
curl: (7) Failed to connect to 192.168.0.101 port 80: Connection refused[root@server1 haproxy]# pcs resource group add hagroup vip haproxy
[root@foundation upload]# curl 192.168.0.101
server3
[root@foundation upload]# curl 192.168.0.101
server3

两个资源是分开的,需要统一到一台节点上

3.4 standy节点的使用

[root@server4 haproxy]# pcs node standby
[root@server1 haproxy]# pcs status
server1
转换成standy节点 server4状态变成了standy,资源跳转到server1,接管成功。


全部上线,资源不会跳转回去。

[root@server4 ~]# pcs node unstandby
[root@server1 haproxy]# pcs status
server1

3.5 删除vip 关掉haproxy服务

[root@server1 haproxy]# systemctl stop haproxy
[root@server1 haproxy]# pcs status
[root@server1 haproxy]# ip addr del 192.168.0.101/24 dev eth0
[root@server1 haproxy]# pcs status

节点server1恢复,自动添加vip成功。


3.6 down掉网卡

[root@server1 haproxy]# ip link set down eth0
[root@server4 ~]# pcs status


4、stonith的设置(fencing设备)

- 网卡坏了,内核坏了也不可能手动去重启网卡,重启电脑。所以需要设置stonith。
- 脑裂 相当于两个用户同时修改一个文件,导致存储损坏。
-
-   stonith相当于电源交换机,插排,可以发信息告诉stonith需要断开哪个电源(直接断电),
- 开启哪个电源,实现了远程自动开关机。

qemu 半虚拟化
kvm 硬件虚拟化 解决cpu、内存
libvirtd 图形化控制 管理接口 systemctl status libvirtd 服务停掉后对虚拟机没有影响
virt-manager – > libvirtd --> kvm/qemu

[root@foundation upload]# cd /etc/cluster/
[root@foundation cluster]# rpm -qa | grep fence
fence-virtd-0.4.0-4.el8.x86_64
libxshmfence-1.3-2.el8.x86_64
fence-virtd-libvirt-0.4.0-4.el8.x86_64
fence-virtd-multicast-0.4.0-4.el8.x86_64
[root@foundation cluster]# fence_virtd -c
Interface [none]: br0
其他都是默认
[root@foundation cluster]# ls
fence_xvm.key
[root@foundation cluster]# dd if=/dev/urandom of=fence_xvm.key bs=128 count=1
[root@foundation cluster]# systemctl restart fence_virtd
[root@foundation cluster]# systemctl status fence_virtd
[root@foundation cluster]# ll fence_xvm.key
-rw-r--r--. 1 root root 128 Jan 10 15:59 fence_xvm.key
[root@foundation cluster]# netstat -anulp | grep :1229
udp        0      0 0.0.0.0:1229            0.0.0.0:*  

[root@server1 ~]# mkdir /etc/cluster
[root@server4 ~]# mkdir /etc/cluster
[root@foundation cluster]# scp fence_xvm.key root@192.168.0.1:/etc/cluster
[root@foundation cluster]# scp fence_xvm.key root@192.168.0.4:/etc/cluster
##server1 4做同样的操作
[root@server1 ~]# yum install fence-virt.x86_64 -y
[root@server1 ~]# stonith_admin -Ifence_xvmfence_virt
2 devices found
[root@server1 ~]# cd /etc/cluster
[root@server1 cluster]# ls
fence_xvm.key
[root@server4 cluster]# ls
fence_xvm.key## 主机名和域名映射 集群内看到的名称hostname 主机名server1 server4和外部的域名vm1 vm4不一致
[root@foundation cluster]# virsh listId    Name                           State
----------------------------------------------------1     vm1                          running2     vm2                          running3     vm3                          running4     vm4                          running
[root@server1 cluster]# pcs stonith describe fence_xvm
[root@server1 cluster]# pcs stonith create vmfence fence_xvm pcmk_host_map="server1:vm1;server4:vm4" op monitor interval=60s   ##vmfence 策略, fence_xvm 代理,pcmk_host_map主机映射
[root@server1 cluster]# pcs property set stonith-enabled=true
[root@server1 cluster]# crm_verify -LV  ##检测没有错误
[root@server1 cluster]# pcs status

策略建立在服务器的对端

检测配置了stonith之后的效果

- 可以实现摧毁内核,然后自动重启。
- 注意点:如果stonith设备老是自动停止,可能是真机的防火墙和selinux设置问题。
- 可以关闭防火墙,将selinux配置文件改为disabled。

server1内核崩溃

[root@server1 haproxy]# echo c > /proc/sysrq-trigger


server1自动重启

5、nginx 负载均衡

[root@foundation ~]# curl -I taobao.com
HTTP/1.1 302 Found
Server: Tengine
Date: Tue, 13 Jul 2021 10:09:26 GMT
Content-Type: text/html
Content-Length: 258
Connection: keep-alive
Location: http://www.taobao.com/[root@server1 cluster]# pcs cluster stop --all
[root@server1 cluster]# pcs cluster disable --all
[root@server1 cluster]# cd
[root@server1 ~]# tar zxf nginx-1.18.0.tar.gz
[root@server1 ~]# cd nginx-1.18.0
[root@server1 nginx-1.18.0]# yum install -y gcc pcre-devel openssl-devel[root@server1 nginx-1.18.0]# cd auto/
[root@server1 auto]# cd cc/
[root@server1 cc]# vim gcc
172 #CFLAGS="$CFLAGS -g"[root@server1 cc]# cd ..
[root@server1 auto]# cd ..
[root@server1 nginx-1.18.0]# pwd
/root/nginx-1.18.0
[root@server1 nginx-1.18.0]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module  ##生成Makefile
[root@server1 nginx-1.18.0]# ll Makefile
-rw-r--r-- 1 root root 376 Jul 13 08:51 Makefile
[root@server1 nginx-1.18.0]# make
[root@server1 nginx-1.18.0]# make install
[root@server1 nginx-1.18.0]# cd /usr/local/nginx/
[root@server1 nginx]# ls
conf  html  logs  sbin
[root@server1 nginx]# du -sh
976K    .[root@server1 sbin]# pwd
/usr/local/nginx/sbin
[root@server1 sbin]# cd
[root@server1 ~]# vim .bash_profile
PATH=$PATH:$HOME/bin:/usr/local/nginx/sbin
[root@server1 ~]# source .bash_profile
[root@server1 ~]# which nginx
/usr/local/nginx/sbin/nginx
[root@server1 ~]# nginx
[root@server1 ~]# netstat -antlp
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      32250/nginx: master
[root@server1 ~]# curl localhost -I
[root@server1 ~]# cd /usr/local/nginx/conf/
[root@server1 conf]# vim nginx.conf ##在文件最后添加 upstream westos {       ##定义负载均衡器server 192.168.0.2:80;server 192.168.0.3:80;}server {listen 80;server_name demo.westos.org;location / {proxy_pass http://westos;  ##当访问网站根目录的时候,做一个反向代理,代理到上面定义的负载均衡器westos上。}
}
}
[root@server1 conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@server1 conf]# nginx -s reload
[root@server1 conf]# curl 192.168.0.1
<title>Welcome to nginx!</title>[root@foundation ~]# vim /etc/hosts
192.168.0.1  demo.westos.org
[root@foundation ~]# ping demo.westos.org
[root@foundation ~]# curl demo.westos.org
server2
[root@foundation ~]# curl demo.westos.org
server3
[root@foundation ~]# curl demo.westos.org
server2
[root@foundation ~]# curl demo.westos.org
server3[root@server2 upload]# systemctl stop httpd
[root@foundation ~]# curl demo.westos.org
server3
[root@foundation ~]# curl demo.westos.org
server3
[root@foundation ~]# curl demo.westos.org
server3



haproxy实现7层的负载均衡[haproxy+pacemaker+fencing]相关推荐

  1. 七层负载均衡--Haproxy

    七层负载均衡--Haproxy 1 Haproxy的定义 2 七层负载均衡的概念 3 四层和七层负载均衡的对比 4 Haproxy的安装及部署 4.1 Haproxy实现负载均衡 4.2 建立监控 4 ...

  2. 企业运维之七层负载均衡--Haproxy

    企业运维之七层负载均衡--Haproxy 1. 基础介绍 2. 负载均衡的类型 3. Haproxy 的部署 3.1 Haproxy 实现负载均衡和监控 3.2 日志采集 3.3 调度算法 3.5 设 ...

  3. haproxy实现高可用及负载均衡

    Haproxy简介:          Haproxy是一个使用c语言编写的自由开发源代码软件,它提供高可用性.负载均衡.以及基于http和tcp的应用程序代理.Haproxy特别使用于那些负载特别大 ...

  4. F5/LVS/Nginx/HAProxy硬软件级网络负载均衡介绍

    F5/LVS/Nginx/HAProxy硬软件级网络负载均衡介绍 1 硬件级的负载均衡 常见的商用硬件负载均衡器:NetScaler.F5.Radware.Array 优点: 1)专业团队维护,能够直 ...

  5. 四层LVS与七层Nginx负载均衡的区别

    一.四层负载均衡与七层负载均衡: (1)四层负载均衡: 四层负载均衡工作在 OSI 七层模型的第四层(传输层),指的是负载均衡设备通过报文中的目标IP地址.端口和负载均衡算法,选择到达的目标内部服务器 ...

  6. TCP接入层的负载均衡、高可用、扩展性架构

    转载自 TCP接入层的负载均衡.高可用.扩展性架构 一.web-server的负载均衡 互联网架构中,web-server接入一般使用nginx来做反向代理,实施负载均衡.整个架构分三层: 上游调用层 ...

  7. RabbitMQ负载均衡(3)——Keepalived+HAProxy实现高可用的负载均衡

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  8. haproxy+keepalived实现高可用负载均衡

    一,软件介绍 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案,适用于那些负载特大的web站点,这些站点通常又需要会话保持或七 ...

  9. HAProxy Keepalived L4-L7 高可用负载均衡解决方案

    目录 文章目录 目录 HAProxy 负载均衡器 应用特性 性能优势 会话保持 健康检查 配置文件 负载均衡策略 ACL 规则 Web 监控平台 Keepalived 虚拟路由器 核心组件 VRRP ...

最新文章

  1. linux 用户态 隐藏进程 简介
  2. 一位技术人员成长的烦恼及我的分析(转)
  3. Windows 2008 R2终端服务器安装配置 支持声卡
  4. Android Studio——字体大小的修改
  5. DL框架之AutoKeras框架:深度学习框架AutoKeras框架的简介、特点、安装、使用方法详细攻略
  6. Web ML+ WebAssembly 支持实现 Google Meet 背景模糊功能
  7. redis源码剖析(十一)—— Redis字符串相关函数实现
  8. 拦截器原理多个拦截器执行顺序
  9. 【tool】常见功能测试点
  10. 复制和删除文件夹所有内容
  11. 拓端tecdat|SAS可视化高级ODS图形:PROC SGPLOT,BY组和SG注释
  12. MTK 一个分支兼容多客户开机Logo方案
  13. .prettierrc代码格式化配置介绍
  14. c#动态加载dll并调用dll中类的方法
  15. 万台服务器一人挑的奥秘
  16. Java基础练习(3)
  17. VB6.0 url encode
  18. 车联网之基于Omap4 Andriod系统移植的行车电脑终端
  19. 子集和数问题--问题
  20. 消息摘要和数字签名(Java简单实现)

热门文章

  1. 微信开发一服务器地址(URL)、令牌(Token)配置
  2. D-OJ题 直接插入排序验证性实验 题目编号:584
  3. 如何用波士顿矩阵分析需求
  4. 架构设计:系统存储(16)——Redis事件订阅和持久化存储
  5. 机器学习—— SVM分类垃圾短信
  6. App Inventor 2 游戏开发最佳入门,仅27个代码块
  7. 【独家直播】 德哥PG系列课程15讲—PostgreSQL 多场景 沙箱实验从入门到精通
  8. android默认视频播放器,WebView不打开android默认视频播放器?
  9. stata17mp64核/win/Mac
  10. 如何理解shared library