keepalived+haproxy配置集群和负载均衡

1、简介

1.1. Keepalived

Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。Keepalived是VRRP的完美实现。

1.2. HAProxy

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

备注:

  1. KeepalivedA和KeepalivedB是主从配置,当其中一台服务器发生故障时,Keepalived会将虚拟IP地址迁移到另一台服务器上,确保服务的高可用性。
  2. Haproxy实现负载均衡功能

概念说明:

虚拟ip:虚拟IP技术,就是一个未分配给客户端真实主机的IP,也就是说对外提供服务器除了有一个真实IP外还有一个虚IP,使用任意一个IP都可以连接到这台主机。当服务器发生故障无法对外提供服务时,动态将这个虚IP切换到备用主机。

负载均衡:含义就是指通过调度算法将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,从而协同完成工作任务。负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。

2、Keepalived安装和配置(两台机器)

下载官网:https://www.keepalived.org/download.html

## 安装依赖

$ yum install -y libnl libnl-devel curl gcc openssl-devel libnl3-devel net

snmp-devel libnfnetlink-devel

在执行一遍看缺不缺包

yum install curl gcc openssl-devel libnl3-devel net-snmp-devel libnfnetlink

devel -y

##将安装包放到服务器并解压安装

$ tar -zxvf keepalived-2.1.5.tar.gz

$ cd keepalived-2.1.5

$ ./configure --prefix=/usr/local/keepalived

$ make && make install

##配置

$ mkdir /etc/keepalived

2.1、主节点配置

##主节点配置(这个配置未检测Haproxy)

##virtual_router_id 159 与虚拟

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

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

相关文章

samba 共享目录write permission deny问题修复 可读取内容但不可修改 删除 新增文件

关于 update/delete/write permission deny问题修复 0.首先在服务器端执行testparm -s ,测试 Samba 配置并显示结果。需确保服务器端参数 read only No ,共享目录有写入权限 一、若配置了允许匿名访问,使用匿名访问来操作smb需要做如下处理…

【PyQt小知识 - 2】:QTextEdit内容的更新和获取、隐藏或显示滚动条、光标插入文本、文本自适应移动

文章目录 QTextEdit更新和获取内容隐藏或显示滚动条光标插入文本文本自适应移动 QTextEdit 更新和获取内容 更新:QTextEdit().setText(text) 或 QTextEdit().setPlainText(text) 获取:QTextEdit().toPlainText() setText()和setPlainText()的区别&…

Android10 状态栏蓝牙电量图标

Android10 源码状态栏蓝牙电量图标相关类 BatteryMeterDrawableBase:电量图标基类 BluetoothDeviceLayerDrawable: LayerDrawable 包含蓝牙设备图标和电池电量图标 BatteryMeterDrawable:内部类,继承自BatteryMeterDrawableBase B…

什么是线段树?

线段树 概述 线段树(Segment Tree)是一种二叉树数据结构,通常用于解决与区间或者段相关的问题。它主要用于处理一维区间的查询和更新操作,例如,查找区间内的最小值、最大值、和、平均值等。线段树是一种灵活而强大的…

大文件分片上传、断点续传、秒传

小文件上传 后端&#xff1a;SpringBootJDK17 前端&#xff1a;JavaScriptsparkmd5.min.js 一、依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.2</ve…

1 Supervised Machine Learning Regression and Classification

文章目录 Week1OverViewSupervised LearningUnsupervised LearningLinear Regression ModelCost functionGradient Descent Week2Muliple FeatureVectorizationGradient Descent for Multiple RegressionFeature ScalingGradient DescentFeature EngineeringPolynomial Regress…

LY/T 3134-2019 室内木质隔声门检测

室内木质隔声门是指能够满足一定隔声等级要求的室内木质门&#xff0c;根据隔声性能的不同&#xff0c;分为Ⅰ级室内木质隔声门。Ⅱ级室内木质隔声门、Ⅲ级室内木质隔声门、Ⅳ级木质隔声门。 LY/T 3134-2019 室内木质隔声门检测项目 测试项目 测试标准 外观 LY/T 1923 尺寸…

UE5 - UI Material Lab 学习笔记

1、学习资料收集 UI Material Lab : https://www.unrealengine.com/marketplace/zh-CN/product/ui-material-lab 视频1&#xff1a;https://www.bilibili.com/video/BV1Hm4y1t7Kn/?spm_id_from333.337.search-card.all.click&vd_source707ec8983cc32e6e065d5496a7f79ee6 视…

记录一次 添加脚本的记录+改错记录

1.Update 和 Delete 一定要记得where条件 update 表名称 set 字段1‘修改的值’ &#xff08;单引号&#xff09; where 字段‘’ and Aid‘’; update jxkh22 set JXKH2200001 ,JXKH2201002 where B003 and JXKH22034;delete from table_name where condition delete from …

Linux控制---进程程序替换

前言&#xff1a;前面我们学洗了Linux进程退出的相关知识&#xff0c;了解了什么是进程退出&#xff0c;已经进程等待的相关话题&#xff0c;今天&#xff0c;我们来学习Linux中的进程程序替换&#xff0c;进程程序替换在Linux中可以用于实现新程序的启动、程序升级、多进程程序…

11.10 知识总结(数据的增删改查、如何创建表关系、Django框架的请求生命周期流程图)

一、 数据的增删改查 1.1 用户列表的展示 把数据表中得用户数据都给查询出来展示在页面上 添加数据 id username password gender age action 修改 删除 1.2 修…

【数据库开发】DataX开发环境的安装部署(Python、Java)

文章目录 1、简介1.1 DataX简介1.2 DataX功能1.3 支持的数据通道 2、DataX安装配置2.1 DataX2.2 Java2.3 Python 3、DataX Web安装配置3.1 mysql3.2 DataX Web3.2.1 简介3.2.2 架构图3.2.3 依赖环境3.2.4 安装 4、入门使用4.1 DataX自带打印示例测试4.2 DataX生成任务模板文件4…

kubernetes集群编排——istio

官网&#xff1a;https://istio.io/latest/zh/about/service-mesh/ 部署 [rootk8s2 ~]# tar zxf istio-1.19.3-linux-amd64.tar.gz [rootk8s2 ~]# cd istio-1.19.3/[rootk8s2 istio-1.19.3]# export PATH$PWD/bin:$PATH demo专为测试准备的功能集合 [rootk8s2 istio-1.19.3]# i…

数据挖掘 关联规则分析

好久没学宋老师的数据挖掘了&#xff0c;今天补一下 ###第一题 import pandas as pd from mlxtend.preprocessing import TransactionEncoder from mlxtend.frequent_patterns import apriori, association_rules# 文件中没有列名 文件中的数据…

Ubuntu安装Python环境(使用VSCode)

想在Ubuntu上安装Python环境&#xff0c;选择了VSCode&#xff0c;而不想多装Anaconda等环境&#xff0c;最后参考了这篇博客&#xff1a; python入门开发:ubuntu下搭建python开发环境(vscode)

Linux文件系统之inode

文章目录 1. 磁盘1.1 认识磁盘1.2 磁盘物理构造1.3 磁盘逻辑结构 2. 文件系统3. 如何理解目录 1. 磁盘 1.1 认识磁盘 文件 内容 属性&#xff0c;而文件是存储在磁盘上&#xff0c;那么可以理解为磁盘上存储的文件 存储的文件内容 存储的文件属性。 文件的内容采用的是块式…

kube-bench-CIS基准的自动化扫描工具学习

仓库地址&#xff1a;GitHub - aquasecurity/kube-bench: Checks whether Kubernetes is deployed according to security best practices as defined in the CIS Kubernetes Benchmark kube-bench,检查 Kubernetes 是否根据 CIS Kubernetes 基准中定义的安全最佳实践部署,下载…

应用协议安全:Rsync-common 未授权访问.

应用协议安全&#xff1a;Rsync-common 未授权访问. Rsync 是 Linux 下一款数据备份工具&#xff0c;支持通过 rsync 协议、ssh 协议进行远程文件传输。其中 rsync 协议默认监听 873 端口&#xff0c;如果目标开启了 rsync 服务&#xff0c;并且没有配置 ACL 或访问密码&#…

Redis05-集群方案

目录 Redis集群方案 主从复制 主从复制的基本原理 主从复制的工作流程 乐观复制 主从复制的优势 哨兵机制 哨兵的关键作用 服务状态监控 哨兵选举Master规则 分片集群 分片集群中的数据读写 数据写入 数据读取 一致性哈希和客户端分片 Redis集群方案 微服务时代…