集群工具之HAProxy

集群工具之HAProxy

HAProxy简介

  • 它是一款实现负载均衡的调度器
  • 适用于负载特别大的web站点
  • HAProxy的工作模式
    • mode http:只适用于web服务
    • mode tcp:适用于各种服务
    • mode health:仅做健康检查,很少使用

配置HAProxy

haproxy

  • clienteth0->192.168.88.10
  • haproxyeth0->192.168.88.50;eth1->192.168.99.50
  • web1eth0->192.168.99.100
  • web2eth0->192.168.99.200

环境准备

  • client
# 配置ip
nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.88.10/24 ipv4.gateway 192.168.88.254 connection.autoconnect yes
  • HAProxy
# 配置ip
nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.88.50/24 ipv4.gateway 192.168.88.254 autoconnect yes
nmcli connection up eth0nmcli connection modify eth1 ipv4.method manual ipv4.addresses 192.168.99.50/24 ipv4.gateway 192.168.99.254 autoconnect yes
nmcli connection up eth1# 安装haproxy
yum install -y haproxy
  • web1
# 配置ip
nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.99.100/24 ipv4.gateway 192.168.88.254 connection.autoconnect yes# 开启httpd服务
systemctl start httpd
echo "web1" > /var/www/html/index.html
  • web2
# 配置ip
nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.99.200/24 ipv4.gateway 192.168.88.254 connection.autoconnect yes# 开启httpd服务
systemctl start httpd
echo "web2" > /var/www/html/index.html

相关配置

  • haproxy
# 修改haproxy服务的配置文件
vim /etc/haproxy/haproxy.cfg
# 文件内容如下,63行之前的不需要改动,将63行后面的全部删除,包括63行,替换成下面的内容
listen myweb 0.0.0.0:80  # 定义本机监听地址balance roundrobin  # 调度算法为轮巡server web1 192.168.99.100 check inter 2000 rise 2 fall 5  # web1服务器健康检查,2000ms检查一次,连续2次成功,代表健康,连续5次失败,代表服务器宕机server web2 192.168.99.200 check inter 2000 rise 2 fall 5  # web2服务器健康检查,2000ms检查一次,连续2次成功,代表健康,连续5次失败,代表服务器宕机listen stats 0.0.0.0:1080  # 定义监控地址的端口stats refresh 30s  # 监控页面30s自动刷新stats uri /stats  # 定义监控的uri地址是/statsstats auth bhlu:1234  # 定义监控页面的用户名是bhlu,密码是1234# 启动服务
systemctl start haproxy# 查看服务是否正常启动,如果有报错-l可以全部显示出来
systemctl status haproxy -l

效果演示

  • client
for i in {1..6}; do curl http://192.168.88.50; done
# web1 web2 web1 web2 web1 web2
  • 访问监控地址

图片后续补上

补充:负载均衡调度器的简单比较

  1. nginx:可以工作在第4层和第7层。可以根据url进行负载均衡。正则表达式支持的更广泛。
  2. lvs:效率最高。工作在第4层。
  3. haproxy:可以工作在第4层和第7层。可以根据url进行负载均衡。支持有限的正则表达式,属于适中的状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/2411.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于JAVA的机场航班起降与协调管理系统

毕业设计(论文)任务书 第1页 毕业设计(论文)题目: 基于JAVA的机场航班起降与协调管理系统 毕业设计(论文)要求及原始数据(资料): 1.综述机场航班调…

【java配置】jpcap的下载与idea配置

解决报错:Cannot resolve symbol ‘jpcap’ 1. jpcap的下载 官网下载链接 百度网盘下载 双击WinpPca安装,jacap1和jpcap2任选其中之一 2. idea配置 (1)查看当前使用jdk目录 File -> Project Settings -> SDKs &#…

【1577】java网吧收费管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java 网吧收费管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0…

项目实践---贪吃蛇小游戏(下)

对于贪吃蛇小游戏,最主要的还是主函数部分,这里就和大家一一列举出来,上一章已经写过头文件了,这里就不多介绍了。 首先就是打印桌面,也就是背景,则对应的代码为: void SetPos(short x, short …

MLLM | Mini-Gemini: 挖掘多模态视觉语言大模型的潜力

香港中文、SmartMore 论文标题:Mini-Gemini: Mining the Potential of Multi-modality Vision Language Models Code and models are available at https://github.com/dvlab-research/MiniGemini 一、问题提出 通过更高分辨率的图像增加视觉标记的数量可以丰富…

Power BI 如何创建页面导航器?(添加目录按钮/切换页面按钮)

Power BI 中页导航是什么? 在Power BI中,页导航(Page Navigation)是指在报告中创建多个页面(页),然后允许用户在这些页面之间进行导航的功能。 如下图所示,页导航的选项和报告中的…

嵌入式学习59-ARM8(中断,ADC,内核定时器和传感器)

什么是中断顶半部和底半部 ? (部分记忆)背 上半部: …

Atlas Vector Search:借助语义搜索和 AI 针对任何类型的数据构建智能应用

Atlas Vector Search已正式上线! Vector Search(向量搜索)现在支持生产工作负载,开发者可以继续构建由语义搜索和生成式人工智能驱动的智能应用,同时通过 Search Node(搜索节点)优化资源消耗并…

SpringCloud系列(12)--服务提供者(Service Provider)集群搭建

前言:在上一章节中我们成功把微服务注册进了Eureka集群,但这还不够,虽然注册服务中心Eureka已经是服务配置了,但服务提供者目前只有一个,如果服务提供者宕机了或者流量过大,都会影响到用户即服务使用者的使…

Oracle数据库的简单使用

Oracle简单使用 一、数据库的介绍二、Oracle介绍账号管理Oracle的安装Oracle服务的作用OracleRemExecService服务创建数据库 常用命令 三、SQL语言SQL分类实用的数据表添加注释数据操纵语言(DML)查询语句(SELECT)wherelikedistinc…

pycharm集成github项目,拉取项目并进行代码管理

首先你要有一个github项目,然后找到一个想要拉取github项目的本地路径,打开git命令行,执行git clone http…路径,可能会需要你输入git的用户名和密码;用pycharm打开该项目;添加python解释器,我用…

YOLOv8改进项目汇总-超全改进-ultralyticsPro介绍:订阅了《芒果YOLOv8原创改进专栏》的读者免费赠送,包括很多稀有改进

🔥🔥🔥专注于YOLOv8改进,NEW - YOLOv8 🚀 in PyTorch >, Support to improve Backbone, Neck, Head, Loss, IoU, LA, NMS and other modules🚀 Makes YOLOv8 improvements easy again 芒果出品 YOLOv8…

上汽大通:依托电子签网络,升级产业供应链协同

2023年12月,法大大发布了中国首部《汽车行业合同数智化白皮书》(点击阅读及下载:中国首部!《汽车行业合同数智化白皮书》重磅发布 | 附下载)。该白皮书中基于法大大自身参与汽车行业合同数智化建设的实践和思考&#x…

防反接、防过压、缓启动电路相关

一、防反接电路 电源正确接入时 电流从 VIN 端流向负载,经由 Q3(NMOS) 通向地(GND)。在上电瞬间,由于 MOS 管的体二极管效应,地回路通过体二极管接通。接下来,由于 Vgs(门源电压)大于 Vgsth(门限电压)&…

【python】python新闻文本数据统计和聚类 (源码+文本)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

Bentley二次开发教程02-开发环境搭建

1 Bentley 平台介绍 图 1 Bentley 平台介绍 Bentley 软件大致可分为四大平台,分别为用于设计的 Microstation 平台,用于协同的 ProjectWise 平台,用于对资产进行全生命周期管理的 AssetWise 平台和数据互联互通的 数字孪生平台 iTwin。 1.1 …

Linux文件系统与日志

一、inode和block 文件数据包括元信息与实际数据,文件存储在硬盘上,硬盘最小存储单位是扇区,每个扇区存储512字节 1.block(块):文件系统中用于存储文件实际数据的最小单位,由文件系统进行分配和管理,并通…

【电子通识】什么是8D分析法?8D步骤及用法?

在问题分析时往往会听到8D报告这样的词汇。如在电源专题【电源专题】案例:电源芯片厂家怎么判断电源芯片端口是否损坏中我们使用的图片就来源于电源芯片厂家的8D报告。 什么是8D分析法? 8D问题分析由美国国防部于1974年创立,当时用于军用物资采购保障。目前在汽车产业、组装…

MapReduce案例-电影网站数据统计分析

本文适合大数据初学者学习MapReduce统计分析业务问题的步骤和基础的MapReduce编程方法,初步掌握Hadoop对计算任务的管理。 本文末尾有全部数据集和完整代码连接。 1.准备工作 安装Hadoop:Hadoop 3.3.2 离线安装-CSDN博客 按照好Hadoop之后要检查一下datanode运行情况…

在控制台实现贪吃蛇

在控制台实现贪吃蛇 前备知识Win32APICOORD这个结构体的声明如下:GetStdHandle 函数GetConsoleCursorInfo 函数SetConsoleCursorInfo 函数 SetConsoleCursorPosition 函数getAsyncKeyState 函数 控制台窗口的大小以及字符打印介绍控制台中的坐标宽字符及本地化介绍s…