Linux——keepalived负载均衡

news2024/11/15 9:32:31
  1. 如何解决网站的高并发访问?    高并发: 响应缓慢   服务卡顿  服务器宕机
    1. 思路: 找性能瓶颈  定位单点    (监控工具)
    2. 解决方案:  隔离  扩展
      • 动静分离
      • 拆分数据库
      • 缓存
      • 队列
      • 负载均衡
      • 逻辑隔离   // 虚拟化技术
        1. 硬件虚拟化 //VMware EXSI Ovirt
        2. 指令集虚拟化
        3. 运行库虚拟化 // 容器技术    容器编排工具  K8S
  2. 网络资源的高并发
    1. web服务器的选择
      • apache + 补充模块   =  用来运行web应用的容器
        1. php 程序可以直接被apache运行
        2. apache 的事务处理模型虽然经过迭代,相对从前在面对高并发业务场景下有一定的改进,但是处理能力依旧不能满足当前的需求
          1. perfork
          2. event // 相对高效的处理模型
          3. work

      • nginx // 反向代理
        1. php web应用程序在结合nginx 使用的情况下,php的请求通过nginx 反向代理交给php-fpm 等专门运行php程序的服务
        2. epoll 事件处理模型
          1. 技术前提,linux内核支持异步非阻塞事件处理   // 非阻塞相对于阻塞,系统运行效率更高
          2. io多路复用  
    • 负载均衡和应用网关
      • 负载均衡 架构设计
      • 应用网关  一开始主要由开发人员维护并设置对应的路由规则
        1. 将完整的网站功能拆分到不同的集群中     (微服务)
          1. 应用网关 (某种形式的负载均衡// 典型的七层负载均衡)
          2. 服务注册
    • 负载均衡     // 使用多个服务器响应客户端请求,同时还需要保证每一个服务器的工作负载较为均匀
      • 软件负载均衡 // 相对廉价,且维护成本低
        1. 软件层负载均衡典型软件  lvs    nginx   haproxy
        2. 保证负载均衡的稳定 引入keepalived  实现服务高可用
        3. pphc 这本书,从这一步开始进行的优化,就是从网络架构上进行的优化
          1. ospf+ecmp  实现不丢包和链路高可用
          2. 增加VIP对应的网卡数量,实现流量处理能力增强
          3. 设置两个入口网关
          4. 为每一个lvs节点增加一个新的VIP 进一步极高LVS的流量处理能力

      • 硬件负载均衡 // 处理效率高效 相较软件负载均衡 面对高并发 性能表现更好 价格昂贵
        1. 四层的负载均衡
          1. 维护NAT表 和 两个五元组
          2. 对IP报文进行目标地址转换

keepalived 实验架构

keepalived 如何实现高可用?

基于vrrp协议实现高可用。

  1. 选举
    1. 使用VRRP协议启动的实例,在启动时将为其配置对应的优先级,优先级的值越高,优先级越高,而优先级最高的实例将成为主节点(获得VIP的分配)其他节点自动成为备份节点
    2. 主节点获得VIP
  2. 心跳线
    1. 选举完成,主节点将持续发送集群状态给剩余的vrrp实例,备份实例将持续收到来自主节点的vrrp状态报文,并比较状态报文与选举阶段形成的集群状态是否一致
  3. 故障转移
    1. 如果心跳线失效之后,主要是主节点down 停止发送状态报文,或者主节点因为某些原因将优先级调低;
    2. 从节点将重新进行选举,从vrrp实例集群中选举新的主节点,剩余的从节点继续作为备份节点
    3. VIP 将随着重新选举的过程而分配给新的主节点,所以VIP也叫作漂移IP

实验要求:

  1. 实现负载均衡器的高可用,提升负载均衡器在面对高并发时的稳定性

实验的延伸:

  1. 增加一个VRRP实例配置,设置两个漂移VIP ,提升面对高并发时架构带宽
  2. vip 一般对应每一个VRRP实例的网络接口,本次实验中将使用以太网接口实现配置,可以尝试将多个以太网卡接口配置链路聚合功能,进一步提升带宽

IP地址规划:

后端服务器将统一使用虚拟主机进行配置

192.168.110.33  (80-82)

负载均衡器: 192.168.110.11     192.168.110.22

vrr

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

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

相关文章

腾讯云平台实现本机远程连接和数据库mysql 8连接

引言 我们首先邮箱注册一个腾讯云账号(腾讯云 产业智变云启未来 - 腾讯),注册后会有一个月试用期,我们今天讲解的是轻量应用服务器,点击使用,选择离你区域最近的服务区,然后还有一个镜像选择&am…

Packet Tracer - IPv4 ACL 的实施挑战(完美解析)

目标 在路由器上配置命名的标准ACL。 在路由器上配置命名的扩展ACL。 在路由器上配置扩展ACL来满足特定的 通信需求。 配置ACL来控制对网络设备终端线路的 访问。 在适当的路由器接口上,在适当的方向上 配置ACL。…

【深入理解SpringCloud微服务】深入理解nacos配置中心(六)——spring-cloud-context关于配置刷新的公共逻辑

【深入理解SpringCloud微服务】深入理解nacos配置中心(六)——spring-cloud-context关于配置刷新的公共逻辑 原理分析源码解析RefreshEventListener#onApplicationEvent(ApplicationEvent)ContextRefresher#refresh()ContextRefresher#refreshEnvironmen…

记录一次显卡驱动安装

1. 驱动安装 1.1. 查看适合的版本 apt-get update ubuntu-drivers devices输出结果: 1.2. 安装合适的驱动版本 根据上面输出的内容 apt-get install nvidia-driver-545完成后重启 reboot查看新的驱动 nvidia-smi2. 安装/升级cuda 在nvidia-smi中显示的CUDA…

伊犁云计算22-1 apache 安装rhel8

1 局域网网络必须通 2 yum 必须搭建成功 3 apache 必须安装 开干 要用su 用户来访问 一看httpd 组件安装完毕 到这里就是测试成功了 如何修改主页的目录 网站目录默认保存在/var/WWW/HTML 我希望改变/home/www 122 127 167 行要改

AI 基础设施:构建AI时代全栈云计算体系

生成式AI 新时代下催生新的基础设施需求 随着企业在数字化转型之路上越走越远,期间一场新的技术革命正在发生,近几年涌现的生成式AI技术正在迅速改变科技、商业和整个社会的格局。这种强大的技术能够从数据中学习并生成预测性输出,生成式 AI …

Listener经典案例-在线用户统计

前言 要完成在线用户统计功能的监听器,需要实现如下3个接口。 ServletContextListener接口 使用此接口的作用是:在应用初始化的时候向application中添加一个空的Set集合用来保存在线用户。HttpSessionAttributeListener接口 使用此接口的作用是&#xff…

【经验技巧】IBIS AMI模型眼图仿真问题探讨

最近,有同事问我:“拿到供应商的IBIS AMI模型,怎么判断是否可以进行应力(统计)眼图的仿真呀?如果不能进行,又怎么判断结果是瞬态仿真呢?” 不得不说,这的确是一个不错的话…

VMware虚拟机密码忘记了怎么办

1.首先,启动系统,进入开机界面,在界面中按“e”进入编辑界面 2.进入编辑界面,使用键盘上的上下键把光标往下移动,找到以““Linux16”开头内容所在的行数”,在行的最后面输入(最好把前面的语言改…

JVM 调优篇8 调优案例6- 计算合理设置内存大小

一 jmap查看堆结构配置 1.1 逻辑流程 # 查看进程ID jps -l # 查看对应的进程ID的堆内存分配 jmap -heap 3725 1.2 案例演示 1.代码 public class AdaptiveSizePolicyTest {public static void main(String[] args) {try {Thread.sleep(1000000);} catch (Interrupted…

MFC-基础架构

前言 各位师傅大家好,我是qmx_07,今天讲解MFC的基础架构 概述 介绍:MFC(Microsoft Foundation Classes)是微软公司提供的一个类库,用于在 Windows 操作系统下进行 C 应用程序开发MFC把Windows SDK API函…

一堆让你眼界大开的实用工具网站——搜嗖工具箱

和图书 https://www.hetushu.com/ 一个好用的免费看小说网站。和图书是一个提供各种热门电子书,书籍,小说免费在线阅读的网站,涵盖网游、玄幻、穿越、科幻、仙侠、都市、武侠、历史、竞技、军事灵异等多个种类的小说。在这个网站看小说最大的感触简单干净&#xff…

数据标注——AI智能时代的关键之钥

洞见AI+专题 篇首语 在这个充满无限可能的时代,人工智能正以前所未有的速度改变着我们的世界。从日常生活的便利到行业效率的飞跃,AI技术的应用几乎无处不在。在银行业务中,同样可以看到AI带来的巨大潜力。本专题旨在展示农业银行科技部门在AI技术应用上的最新探索与实践成…

力扣之178.分数排名

1. 178.分数排名 1.1 题干 表: Scores -------------------- | Column Name | Type | -------------------- | id | int | | score | decimal | -------------------- id 是该表的主键(有不同值的列)。 该表的每一行都包含了一场比赛的分数。Score 是…

Docker+PyCharm远程调试环境隔离解决方案

DockerPyCharmMiniconda实现深度学习代码远程调试和环境隔离 本文详细介绍了如何在局域网环境下,利用Docker、PyCharm和Miniconda构建一个高效的深度学习远程调试平台。首先在服务器(server)上,通过Docker构建包含不同CUDA环境的镜…

MCS-51汇编

伪指令: EQU: Equal,定义常量 COUNT EQU 10H ; 定义一个符号名COUNT,其值为10H DELAY EQU 500 ; 定义一个符号名DELAY,其值为500 数据传送: MOV: MOVE,传送数据 MOVC: 算术运算: 跳转…

详解npm源及其使用方法

详解npm源及其使用方法 npm源是一个用于存储和提供npm包的服务器地址,npm在安装包时会通过这个源地址下载对应的依赖包。默认情况下,npm使用官方的npm源(https://registry.npmjs.org/),该源存储了海量的Node.js开源包…

Android Studio 汉化教程,直接授人以渔,又菜又爱学英语还不好,不愧是我

Android Studio 汉化教程,直接授人以渔 查看使用的 Android Studio 版本号 当前版本号:241.18034.62.2412.12266719 打开官网插件地址 插件地址选择对应版本进行下载 版本怎么选? 我的版本号 241.18034.62.2412.12266719选择的版本号只有前三位对应的…

【JAVA开源】基于Vue和SpringBoot的网上超市系统

本文项目编号 T 037 ,文末自助获取源码 \color{red}{T037,文末自助获取源码} T037,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

全国31省对外开放程度、经济发展水平、政府干预程度指标数据(2000-2022年)

旨在分析2000-2022年间中国31个省份的对外开放程度、经济发展水平和政府干预程度,探讨其背后的动因与影响。 2000年-2022年 全国31省对外开放程度、经济发展水平、政府干预程度指标数据https://download.csdn.net/download/2401_84585615/89478612 数据概览 对外…