含义及理解:

1 . HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机, 它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点, 这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整 合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。

2 . HAProxy 支持连接拒绝:因为维护一个连接的打开的开销是很低的,有时我们很需要限制攻击蠕虫(attack bots),也就是说限制它们的连接打开从而限制它们的危害。 这个已经为一个陷于小型DDoS攻击的网站开发了而且已经拯救了很多站点,这个优点也是其它负载均衡器没有的。

实验搭建:

server1 :haproxy :172.25.13.110
server2 :web1 :172.25.13.120
server3 :web2 :172.25.13.130

首先安装服务在server1

yum install haproxy -y
vim /etc/haproxy/haproxy.cfg

添加下面的内容:

后端服务器设置:
安装开启httpd服务并且设置共享页面。此处可以设置不同的共享内容,便于区分访问的后端真实服务器,明显的表现出负载均衡的效果。

测试: curl 172.25.13.110
发现实现反向代理以及负载均衡

[root@foundation13 images]# curl 172.25.13.110
server3
[root@foundation13 images]# curl 172.25.13.110
server2
[root@foundation13 images]# curl 172.25.13.110
server3

作为反向代理服务器,varnish将自己的端口伪装成所代理的后端服务器的端口,因此只能代理一种服务,但是haproxy可以同时代理多个服务。只需要设置不同的代理配置段。

配置文件中写入了监控页面,可以直接在web页面上监控后端服务状态:

访问:172.25.13.110:8080/status


haproxy 自带后端服务器的健康检查,当某一个后端服务器宕机之后,其会自动自动将其移除出轮询队列,并在监控页面显示异常:
关闭server3httpd服务,模拟异常:

再次使用客户端进行访问测试:只访问正常的后端服务器

[root@foundation13 images]# curl 172.25.13.110
server2
[root@foundation13 images]# curl 172.25.13.110
server2
[root@foundation13 images]# curl 172.25.13.110
server2

查看监控页面:异常后端服务被标红:


动静分离
根据实际情况可客户方访问请求,将不同类型的访问请求调转到不同的后端服务器。php请求交给php server处理,jsp请求交给tomcat处理,即业务上的应用请求分离,而haproxy完全可以利用acl匹配规则实现这一目的.

修改主机配置文件:

#设置接收请求的前端虚拟节点,Frontend可以增加规则直接指定具体使用后端的backend
frontend  main *:80   acl url_static       path_beg       -i  /imagesacl url_static       path_end       -i .jpg .gif .png .css .js   # 增加规则use_backend static          if url_static  default_backend             app   # 不同的条件对应不同的后端服务器backend static    # 定义后端服务器server web1 172.25.13.120:80 checkbackend app   # 定义后端服务器server web2 172.25.13.130:80 check

systemctl restart haproxy 重新启动服务

后端服务器设置:
当访问 http://172.25.13.110/images 时候,请求会被调转到 172.25.13.120 。需要在该主机中创建:/var/www/html/images 目录 ,提前在该目录中放置一张图片。

使用客户端访问 http://172.25.13.110/images 。访问指定的后端服务器 172.25.13.120

主要是根据不同的请求将其指定到不同后端服务器,这就是动静分离。

Haproxy实现负载均衡相关推荐

  1. saltstack实现haproxy+keepalived负载均衡+高可用(二)

    一键部署haproxy+keepalived实现负载均衡+高可用 实验环境: !!!!    特别注意: www.westos.org为test1的minion名字 test1: 172.25.1.1 ...

  2. 架构师课程之-haproxy专业级负载均衡软件权威讲解

    老男孩培训顶级架构师课程[企业场景haproxy专业负载均衡架构方案]教学大纲 2014/4/12日激情开讲! 伙伴们,既然选择了远方,就只顾风雨兼程! 老男孩老师已经做好了自断筋脉,把全部功力都传给 ...

  3. HAProxy 的负载均衡服务器,Redis 的缓存服务器

    问答社区网络 StackExchange 由 100 多个网站构成,其中包括了 Alexa 排名第 54 的 StackOverflow.StackExchang 有 400 万用户,每月 5.6 亿 ...

  4. RabbitMQ + 镜像队列 + HAProxy 实现负载均衡的集群

    RabbitMQ + 镜像队列 + HAProxy 实现负载均衡的集群 一.集群管理(RabbitMQ扩容) 1. 环境介绍 hostname ip mq1 192.168.80.16 mq2 192 ...

  5. lvs,haproxy实现负载均衡

    lvs,haproxy实现负载均衡 转载于:https://www.cnblogs.com/panxuejun/p/6245632.html

  6. Haproxy实现负载均衡及相关配置(添加日志、设定自动刷新时间、控制访问、动静分离、读写分离)

    1.HAProxy简介 (1)HAProxy 是一款提供高可用性.负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProx ...

  7. 架构测试:HAproxy实现负载均衡,前端为nginx+php,数据库实现读写分离和高可用...

    环境: • 202.106.0.6: as client • 202.106.0.17:as firewall • 202.106.0.147: as powerDNS • 192.168.205.2 ...

  8. LVS/HAProxy/Nginx负载均衡对比

    2019独角兽企业重金招聘Python工程师标准>>> 现在网站发展的趋势对网络负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术: 一种是通过硬件来进行进行,常见的硬 ...

  9. HAProxy实现负载均衡及高可用集群(corosync+pacemaker)

    一.haproxy haproxy 是一款提供高可用性.负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别适用 ...

最新文章

  1. 关于mysql服务器3306端口不能远程连接的解决
  2. 【机器学习】xgboost系列丨xgboost原理及公式推导
  3. 图论--LCA--树上倍增法(在线)
  4. maven tomcat1.7环境下构建javaweb 项目
  5. 解决centos下缺少sasl.h的问题(#include <sasl/sasl.h>)
  6. mysql结果行数_取得数据库结果集中的行数
  7. 第11章 使用Vsftpd服务传输文件
  8. 没什么本钱怎么做生意?
  9. vue-cli关闭eslint及配置eslint
  10. 自己用纯Java写的这款Mysql客户端工具美哭了,求收藏~
  11. 数据库知识点总结归纳
  12. 统计通话次数和时间的软件_通话时间统计下载
  13. c语言绝对值题目,绝对值测试题大全
  14. 查询Linux中CPU的核数
  15. Android Studio使用签名打包发布APP(安卓生成apk文件)
  16. mplfinance绘制K线图
  17. 一个仿微博TextView 筛选,直接使用的工具类
  18. 2018/2019/2020/2021/2022/2023年度计划阅读书籍(持续更新)
  19. android 读取各分区大小,Android8 分区表变化和相关信息
  20. 正在连接192.168.100.200.22...无法打开到主机的连接。 在端口 23: 连接失败

热门文章

  1. 行健设计_行健要闻|“第四届‘天行健创新创业设计大赛”培训班成功举办
  2. 配置文件bashrc与profile的区别
  3. jar包在Hadoop集群上测试(MapReduce)
  4. linux命令之有关网络的操作命令
  5. Exchange队列优先级介绍和配置
  6. 仿拉钩app(一)---爬虫数据准备
  7. 前端每日实战:34# 视频演示如何用纯 CSS 创作在文本前后穿梭的边框
  8. Spark算子篇 --Spark算子之combineByKey详解
  9. mysql 包含的那些文件
  10. 分形与数据结构第二篇