[面试]我们常说的负载均衡是什么东西?

什么是负载均衡

如果用户量很多, 服务器的流量也随之增大, 此时出现两个问题,

  1. 软件性能下降

  2. 容易出现单点故障

为了解决这些问题, 引入了集群化架构, 也就是把一个软件同时部署在多个服务器上
在这里插入图片描述

集群化架构出现的问题

架构改变后又出现了两个问题

  1. 如何将请求均匀的发送到多台目标服务器?

  2. 如何监测目标服务器的健康状态, 使请求不发送到宕机的服务器上

为了解决这两个问题, 引入负载均衡的设计, 目的就是让请求和里的分发到多台服务,让服务器性能的到提升

负载均衡的实现

  • DNS实现

    • 当访问某个域名时, 会首先通过DNS解析域名并随机返回一个集群的IP地址, 这样就实现了请求分发

    • 就近原则, DNS还可以根据位置就近返回集群的IP

    • 缺点: 因为DNS有缓存, 所以在修改DNS配置后由于缓存的原因可能导致IP更新不及时影响负载均衡的效果

    在这里插入图片描述

  • 硬件实现负载均衡

    • 硬件负载设备, 是一个网络设备, 类似于交换机

    • 性能好

    • 支持多种负载均衡算法

    • 具有防火墙等安全功能

    • 但是维护成本高,需要有专人维护, 设备价格高

  • 软件实现负载均衡

    • 利用开源或者商业软件实现负载均衡,常用的有 Nginx、LVS、HAProxy 等

    • 主要使用的就是软件实现负载均衡, 免费开源, 灵活度高

常用负载均衡算法

  • 轮询 , 也就是每个请求按顺序给根据顺序给指定的服务器分发

在这里插入图片描述

  • 随机, 根据随机算法获得一个目标服务器的地址, 因为是随机所以请求分发到每个服务器的数量一定平均

  • 一致性hash, 具有相同hash码的请求永远发送到同一个节点

  • 最小连接数, 根据目标服务器的请求数量来进行分发, 请求数量少的将会获得更多的请求

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

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

相关文章

大疆无人机视频删了怎么恢复?尝试这些恢复技巧

无人机拍摄的视频已经成为许多飞行爱好者和专业人士珍贵的记忆与资料。然而,误删视频是许多人都可能遇到的问题。当您不慎删除了大疆无人机中的视频时,不必过于焦虑。本文将为您详细介绍如何恢复这些误删的视频,帮助您找回宝贵的回忆。 图片来…

Laravel03 路由到控制器与连接数据库

Laravel03 路由到控制器与连接数据库 1. 路由到控制器2. 连接数据库 1. 路由到控制器 如下图一些简单的逻辑处理可以放在web.php中,也就是路由的闭包函数里面。但是大的项目,我们肯定不能这么写。 为什么保证业务清晰好管理,都应该吧业务逻辑…

【Linux深入剖析】进程优先级 | 命令行参数 | 环境变量

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 目录 1.进程优先级2.Linux…

[C++]使用C++实现监控文件是否被修改

软件开发过程中经常会用到配置文件,某些应用场景要求在软件运行时动态修改配置文件,此时就需要监控配置文件是否被修改,下面我们就来看看如何使用C实现这一功能吧 软件开发过程中经常会用到配置文件,某些应用场景要求在软件运行时动态修改配置文件,此时…

国产服务器操作系统

为何记录 最近的开发工作经常接触到国产服务器操作系统的业务,经常被x86、arm、龙芯、鲲鹏、欧拉...搞得一脸懵逼,遂记之! 操作系统 这里按照应用场景分: 桌面操作系统:主要用于pc,如Windows、macOS、Li…

MES系统生产订单管理:多角度全面解析

一、MES系统生产订单管理概述 MES中的生产订单管理涉及到订单的接收、处理、执行和跟踪等多个方面。MES系统生产订单管理旨在确保生产过程中的订单信息准确无误、生产进度可控,从而实现高效、有序的生产。 二、生产订单管理的核心功能 订单接收与处理:…

30-k8s集群的七层代理-ingress资源(进阶知识)

一、ingress概述 1,引发问题 目前使用svc资源做网络暴露,使用nodeport类型,一个业务对应一个宿主机端口,那么如果业务多了,所占用的宿主机端口也就多了,虽然说宿主机端口一般情况下都是够用的,…

Android Jni的介绍和简单Demo实现

Android Jni的介绍和简单Demo实现 文章目录 Android Jni的介绍和简单Demo实现一、JNI的简单介绍JNINDKJni的开发背景:**JNI在 Android 开发里的主要应用场景:** 二、JNI的简单Demo1、Demo主要界面和效果展示2、CMake编译加载文件add_library 指令的加载库…

主从复制实现Redis集群

主从复制实现Redis集群实验 (一主二从): 实验环境: 使用Docker 搭建 Redis 版本 5.0.5 打开一个终端窗口,在其中运行如下命令创建一个名为redis-master的Redis容器。注意,它的端口是6379 (本地的端口:映射到容器的端口) docker run -itd--name redis-m…

深入理解 JavaScript 对象原型,解密原型链之谜(下)

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

VScode连接远端服务器一直输入密码解决方法

文章目录 1 关闭远程连接2打开命令面板3 输入remote-ssh: kill vs code server on host… 1 关闭远程连接 2打开命令面板 3 输入remote-ssh: kill vs code server on host… remote-ssh: kill vs code server on host… 然后一路回车(选中出问题的主机),输一遍密码…

缓存一致性问题的解决策略

缓存一致性问题的背景和概念介绍 在一个系统中,我们通常使用数据库来存储数据,以保证数据的持久性。但是,由于数据库的读写速度相对较慢,如果每次请求都直接访问数据库,会降低系统的响应速度。为了提高系统的性能&…

《TCP/IP详解 卷一》第7章 防火墙和NAT

7.1 引言 NAT通常改变源IP和源端口,不改变目的IP和目的端口。 7.2 防火墙 常用防火墙: 包过滤防火墙(packet-filter firewall) 代理防火墙(proxy firewall) 代理防火墙作用: 1. 通过代理服务…

Spring全面精简总结

Spring两大核心功能:IOC控制反转、AOP面向切面的编程 控制反转(loC,Inversion of Control),是一个概念,是一种思想。指将传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理。控制反转就是…

雾锁王国Enshrouded服务器几核几G够用?

雾锁王国/Enshrouded服务器CPU内存配置如何选择?阿里云服务器网aliyunfuwuqi.com建议选择8核32G配置,支持4人玩家畅玩,自带10M公网带宽,1个月90元,3个月271元,幻兽帕鲁服务器申请页面 https://t.aliyun.com…

three中界面交互gui.js库的使用

gui.js库(可视化改变三维场景) dat.gui.js说白了就是一个前端js库,对HTML、CSS和JavaScript进行了封装,学习开发的时候,借助dat.gui.js可以快速创建控制三维场景的UI交互界面,你打开课件中案例源码体验一下就能感受到。 学习dat…

C++笔记(二)--- 继承和组合

目录 C三种继承方式 构造函数 析构 继承 public继承 protected继承 private继承 组合 访问权限 构造/析构函数调用顺序 初始化 总结 C三种继承方式 C有三种继承方式:public protected private 属性方式为 class [派生类名称] : [继承方式] [继…

嵌入式驱动学习第一周——git的使用

前言 本文主要介绍git的使用,包括介绍git,gitee,以及使用gitee创建仓库并托管代码 嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本专栏,喜欢的可以关注本博主并订阅本专栏&#xf…

StarRocks实战——多维分析场景与落地实践

目录 一、OLAP 系统历史背景 1.1 历史背景与痛点 1.2 组件诉求 二、StarRocks 的特点和优势 2.1 极致的查询性能 2.2 丰富的导入方式 2.3 StarRocks 的优势特点 三、多维分析的运用场景 3.1 实时计算场景 / 家长监控中心 3.2 实时更新模型选择 3.2.1 更新模型UNIQU…

一般情况下,硬件中使用Repeating Sequence出现波形很奇怪就是数据的周期频率和mcu运行的频率不一致导致的

一般情况下,出现波形很奇怪就是数据的周期频率和mcu运行的频率不一致导致的 把timer values 修改为0 1就好了,如果是0,0.1就不行,不会有下面的波形