Haproxy-1.8.20 根据路径(URI)转发到后端不同集群
HAProxy根据不同的URI 转发到后端的服务器组
1 ) 实验内容说明:
1.1 ) 根据不同的URI 转发到后端的服务器组. /a /b 和其他 默认使用其他。
1.2 ) 使用IP介绍:
haproxy | 10.10.50.119 | ha | 入口LB
server-1 | 10.10.29.207 | http | /a 路径转发到此
server-2 | 10.10.4.209 | http | /b 路径转发到此
server-3 | 10.10.116.206 | http | 其他所有的转发到此
2 ) HAProxy-1.8.20 根据路径转发到不同后端组:
2.1 ) haproxy 配置
[root@ser haproxy]# grep -vE '^$|^#|^ #' haproxy.cfg
global
maxconn 100000
chroot /data/soft/haproxy
stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
uid 1000
gid 1000
daemon
nbproc 2
cpu-map 1 0
cpu-map 2 1
pidfile /usr/local/haproxy/run/haproxy.pid
log 127.0.0.1 local3 info
defaults
option http-keep-alive
option forwardfor # ip地址透传 针对http 协议有效
maxconn 100000
mode http
timeout connect 300000ms
timeout client 300000ms
timeout server 300000ms
frontend web_prot_80
bind 0.0.0.0:80
mode http
#########################重点部分开始
acl web_port path_beg -i /a # 定义一个ACL,名web_port,模糊匹配路径/a
acl mob_port path_beg -i /b # 定义一个ACL,名web_port,模糊匹配路径/b
use_backend web_port_http_nodes if web_port
# 客户端访问HA路径http://10.10.50.119/a,匹配成功web_port就转发到web_port_http_nodes.如果没有成功继续往下匹配.都匹配不成功就转发到 defalt_backend.
use_backend mob_port_http_nodes if mob_port
# 客户端访问HA路径http://10.10.50.119/b,匹配成功mob_port就转发到mob_port_http_nodes.如果没有成功继续往下匹配.都匹配不成功就转发到 defalt_backend.
default_backend backup_nodes # 一定要有默认转发的这一条,否则会报错。
backend web_port_http_nodes
server server1 10.10.29.207:80 weight 1 check port 80 inter 3s fall 2 rise 5
backend mob_port_http_nodes
server server2 10.10.4.209:80 weight 1 check port 80 inter 3s fall 2 rise 5
backend backup_nodes
server server3 10.10.116.206:80 weight 1 check port 80 inter 3s fall 2 rise 5
###########################重点部分结束
listen stats
mode http
bind 0.0.0.0:9999
stats enable
log global
bind-process 2
stats uri /s
stats auth admin:34343434
3 ) 后端机器做如下操作:
## 后端统一安装httpd
yum install httpd -y
systemctl restart httpd
## server-1
mkdir -p /var/www/html/a
echo "this is server-1 29.207" >/var/www/html/a/index.html
## server-2
server-2
mkdir -p /var/www/html/b
echo "this is server -2 4.209" >/var/www/html/a/index.html
## server-3
server-3
echo "backup redis-2 index.html" /var/www/html/index.html
4 ) 验证最终过程
[root@client1 haproxy]# curl -L http://10.10.50.119/a
this is server-1 29.207
[root@client1 haproxy]# curl -L http://10.10.50.119/b
this is server -2 4.209
[root@client1 haproxy]# curl -L http://10.10.50.119
backup redis-2 index.html
Haproxy-1.8.20 根据路径(URI)转发到后端不同集群的更多相关文章
- nginx配置文件+本地测试请求转发到远程服务器+集群
1 在本地测试1 众所周知,nginx是一个反向代理的服务器,主要功能即为实现负载均衡和动静分离.在别的我别的文章有详细的nginx(Windows)相关介绍教程. 由于自己安装的nginx在本地的计 ...
- HAProxy-1.8.20 根据后缀名转发到后端服务器
global maxconn 100000 chroot /data/soft/haproxy stats socket /var/lib/haproxy/haproxy.sock mode 600 ...
- 基于 Haproxy 构建负载均衡集群
1.HAPROXY简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种负载均衡解决方案.HAProxy特别适用于那些负载特大的web ...
- Haproxy 构建负载均衡集群
1.HAPROXY简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种负载均衡解决方案.HAProxy特别适用于那些负载特大的web ...
- Dubbo入门到精通学习笔记(二十):MyCat在MySQL主从复制的基础上实现读写分离、MyCat 集群部署(HAProxy + MyCat)、MyCat 高可用负载均衡集群Keepalived
文章目录 MyCat在MySQL主从复制的基础上实现读写分离 一.环境 二.依赖课程 三.MyCat 介绍 ( MyCat 官网:http://mycat.org.cn/ ) 四.MyCat 的安装 ...
- Haproxy Mysql cluster 高可用Mysql集群
-----client-----------haproxy---------mysql1----------mysql2------192.168.1.250 192.168.1.1 192.168. ...
- HAProxy负载均衡原理及企业级实例部署haproxy集群
一 HAProxy简介 HAProxy是一种高效.可靠.免费的高可用及负载均衡解决方案,非常适合于高负载站点的七层数据请求.客户端通过HAProxy代理服务器获得站点页面,而代理服务器收到客户请求 ...
- kingbaseES R3 集群修改data路径测试案例
案例说明: 默认KingbaseES R3集群部署后,数据存储目录(data)在/home/kingbase下,部署时不能更改:本案例是在部署完成后,迁移data目录到其他指定的存储位置. 数据库版本 ...
- 配置交换机Trunk接口流量本地优先转发(集群/堆叠)
组网图形 Eth-Trunk接口流量本地优先转发简介 在设备集群/堆叠情况下,为了保证流量的可靠传输,流量的出接口设置为Eth-Trunk接口.那么Eth-Trunk接口中必定存在跨框成员口.当集群/ ...
随机推荐
- 【APIO2019】桥梁(询问分块)
Description 给定一张 \(n\) 个点,\(m\) 条边的无向图,边 \(i\) 的权值为 \(d_i\).现有 \(q\) 次操作,第 \(j\) 个操作有两种模式: \(1\ b_j\ ...
- 笨方法学python笔记
编程是什么 编程就是通过输出一种语言给计算机"听",命令其去执行相应的操作. 我们称我们给计算机下达的命令称为指令.一般说程序就是有多个指令构成的. 计算机需要使用非常多的电路来实 ...
- MySQL锁:03.InnoDB行锁
目录 InnoDB 行锁 锁排查可以用的视图和数据字典 InnoDB 行锁兼容性 InnoDB行锁之共享锁 共享锁: 查看InnoDB锁 InnoDB行锁实现机制 对普通索引上锁 InnoDB隐式.显 ...
- vue第十一单元(内置组件)
第十一单元(内置组件) #课程目标 熟练掌握component组件的用法 熟练使用keep-alive组件 #知识点 #1.component组件 component是vue的一个内置组件,作用是:配 ...
- 容器编排系统之DaemonSet、Job和CronJob控制器
前文我们了解了k8s上的pod控制器中的常用的两种控制器ReplicaSet和Deployment控制器的相关话题,回顾请参考:https://www.cnblogs.com/qiuhom-1874/ ...
- 多任务-python实现-使用队列完成进程间的通信(2.1.8)
@ 目录 1.为什么要使用队列 2.python代码实现 1.为什么要使用队列 进程之间是互相独立的,而线程能够共享全局变量 所以如果进程间想要交换数据的话 只有通过进程间的通信,比如socket.太 ...
- 悉数 Python 函数传参的语法糖
TIOBE排行榜是程序开发语言的流行使用程度的有效指标,对世界范围内开发语言的走势具有重要参考意义.随着数据挖掘.机器学习和人工智能相关概念的风行,Python一举收获2018年年度语言,这也是Pyt ...
- C#的TimeSpan
前言 参考 TimeSpan介绍: https://blog.csdn.net/weixin_41600552/article/details/82220645 微软文档: https://docs. ...
- 使用Attribute限制Action只接受Ajax请求
原博文 https://www.cnblogs.com/h82258652/p/3939365.html 代码 /// <summary> /// 仅允许Ajax操作 /// </s ...
- 一.C语言概述
C语言的起源 贝尔实验室的Dennis Ritchie在1972年开发了C,当时他正与ken Thompson一起设计UNIX操作系统,然而,C并不是完全由Ritchie构想出来的.它来自Thomps ...