高性能:负载均衡

news2024/12/22 18:18:55

目录

什么是负载均衡

负载均衡分类

服务端负载均衡

服务端负载均衡——软硬件分类

服务端负载均衡——OSI模型分类

客户端负载均衡

负载均衡常见算法

七层负载均衡做法

DNS解析

反向代理


什么是负载均衡

        将用户请求分摊(分流) 到不同的服务器上,提高系统整体并发能力及可靠性。

负载均衡分类

        客户端/服务端

服务端负载均衡

        主要应用在系统外部请求网关层之间,可以用软件/硬件来实现

        Nginx服务端负载均衡示意图:

服务端负载均衡——软硬件分类

  • 硬件负载均衡:可以通过专门的硬件设备(F5,A10,Array),贵但性能强
  • 软件负载均衡:LVS、Nginx、HAproxy

服务端负载均衡——OSI模型分类

          二/三/四/七层负载均衡,最常见的为四层和七层

四层:OSI模型的第四层 传输层,这一层主要协议:TCP/UDP,负载均衡器能在这一层看到数据包里的源端口地址及目的端口地址,基于这些信息通过负载均衡算法,转发到后端真实服务器。LVS(Linux Virtual Server虚拟服务器,Linux内核的4层负载均衡)来做四层负载均衡。

七层:OSI模型的第七层 应用层 这一层主要协议:HTTP   负载均衡器会读取报文数据,然后根据读取的内容(如 URL Cookie)做出负载均衡决策。工作中我们常用Nginx来做7层负载均衡。

四层:性能更强

七层:功能更强

客户端负载均衡

应用于系统内部的不同服务间,可以使用现成的负载均衡组件来实现。

客户端负载均衡器和服务运行在同一个进程或者说同一个java程序中。

Java领域主流的微服务框架Dubbo、SpringCloud等都内置了开箱即用的客户端负载均衡实现。Dubbo默认自带了负载均衡功能;SpringCloud是通过组件形式(如Spring Cloud Load Balancer 、Ribbon)来实现。

        基于Spring Cloud Load Balancer实现的示意图

负载均衡常见算法

  1. 随机法:最简单粗暴,可设置权重

  2. 轮询法:可设置权重

  3. 一致性HASH法:相同参数的请求,总是发到同一台服务器处理

  4. 最小连接法:监控服务器正在处理的请求连接数,遍历服务器节点并选取其中活动连接数最小的一台来响应当前请求

七层负载均衡做法

DNS解析

为同一个主机记录多个IP地址即不同服务器,当用户请求域名时,DNS服务器负责采用轮询算法返回IP地址,这样就实现了轮询版负载均衡。

反向代理

    1. 最常用的反向代理服务器:NGINX

    2.客户端 将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器。

    3.对外暴露的地址是反向代理服务器地址(隐藏了真实的ip地址)。

    4.反向代理“代理”的是目标服务器

收队!

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

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

相关文章

小记Java调用C++开发的动态链接库(DLL)

一、背景 五一快乐吖!死肥宅正趁着五一这段时间,努力提升自己! 最近使用Java拦截Windows系统中一些默认事件时,发现了一些瓶颈。 我用Java操作浏览器、用Java最小化其他应用窗口,但是我发现这个操作,他都…

【Unity-UGUI控件全面解析】| InputField 输入框组件详解

🎬【Unity-UGUI控件全面解析】| InputField 输入框组件详解一、组件介绍二、组件属性面板2.1 Content Type(内容类型)三、代码操作组件四、组件常用方法示例4.1 代码限制输入字符4.2 校验文本输入格式4.3 校验输入文本长度💯总结🎬 博客主页:https://xiaoy.blog.csdn.…

话说【永恒之塔sf】里面最有前途的职业:商人

如果有人问我永恒之塔里面什么职业最有前途!那我告诉你就是商人! 做一个NB商人比拥有一身牛b装备要更有成就感。 在老区由于进入的比较晚,所以最后随了大流被淹死在千万基纳中。为了证明商人在永恒之塔是钱途无量的,我转到了新区—…

快解析动态域名解析,实现外网访问内网数据库

今天跟大家分享一下如何借助快解析动态域名解析,在两种特定网络环境下,实现外网访问内网mysql数据库。 第1种网络环境:路由器分配的是动态公网IP,且有路由器登录管理权限。如何实现外网访问内网mysql数据库? 针对这种…

IDEA2022版教程上()

0、前景摘要 0.1 概览 0.2 套课程适用人群 初学Java语言,熟悉了记事本、EditPlus、NotePad或Sublime Text3等简易开发工具的Java初学者熟练使用其他Java集成开发环境(IDE),需要转向IDEA工具的Java工程师们关注IDEA各方面特性的J…

Hadoop大数据分析技术(伪分布式搭建)

一.安装JDK和配置SSH免密登录 (1)准备软件 (2)解压压缩包 tar -zxvf jdk-8u221-linux-x64.tar.gz (3)在此处我们配置系统环境变量,使用命令: vim /etc/profile (4&#x…

Python入门教程(高级版)

Python用了好几年了,但似乎一直没 “系统入门” 过(o(╯□╰)o)。今年(2023年)趁着五一假期,我做了一次相对完整的 “入门” ——本文是这次学习历程的详细记录。 目录 1 Python基础1.1 Python1.1.1 认识Py…

Oracle VM VirtualBox安装centos7步骤 for win10

目录 1.安装VirtualBox 2.安装vagrant 3.安装centos7 4.查看网络与百度和物理机连通情况 5.设置IP 1.安装VirtualBox 下载的链接:Downloads – Oracle VM VirtualBox 2.安装vagrant 根据自己的操作系统选择对应的版本。 Install | Vagrant | HashiCorp Developer 我的P…

asp.net+sqlserver旅游网站zjy99A2

1.系统登录:系统登录是用户访问系统的路口,设计了系统登录界面,包括用户名、密码和验证码,然后对登录进来的用户判断身份信息,判断是管理员用户还是普通用户。 2.系统用户管理:不管是…

redis使用总结

目录 redis安装与登录redis 持久化RDB(Redis DataBase)AOF(Append Only File)RDB-AOF混合持久纯缓存模式 redis 的 keyredis 的数据类型和常见应用场景StringListHashMapSet集合ZSet有序集合bitmap位图HyperLogLog基数统计GEO 地理空间Stream 流bitfiled redis 事务事务的正常执…

《基于EPNCC的脉搏信号特征识别与分类研究》阅读笔记

目录 一、论文摘要 二、论文十问 三、论文亮点与不足之处 四、与其他研究的比较 五、实际应用与影响 六、个人思考与启示 参考文献 一、论文摘要 为了快速获取脉搏信号的完整表征信息并验证脉搏信号在相关疾病临床诊断中的敏感性和有效性。在本文中,提出了一…

ChatGPT根据销售数据、客户反馈、财务报告,自动生成报告,并根据不同利益方的需要和偏好进行调整?

该场景对应的关键词库(24个): 汇报对象身份(下属、跨部门平级、领导)、销售数据(销售额、销售量、销售渠道)、财务报告(营业收入、净利润、成本费用)、市场分析&#xf…

Vulkan实战之验证层

文章目录 验证层是什么?使用验证层消息回调调试实例的创建和销毁测试配置最终代码 验证层是什么? Vulkan API是围绕最小化驱动程序开销的想法设计的,该目标的表现之一是默认情况下API中的错误检查非常有限。即使是像将枚举设置为不正确的值或…

STM32 系列 DAC的介绍与使用

STM32网上资料多,对自己来说基本的使用也是很简单的, 我的STM32专栏并没有什么系统的基础教学,基本上是某个项目用到了,或者产品使用过程出过问题 才会来记录一下,正好用到了 DAC ,一般产品还用得不多&…

【Unity入门】23.简单物理系统

【Unity入门】简单物理系统 大家好,我是Lampard~~ 欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 (一)重力系统 (1)Rigidbody组件 Unity里面有提供符合我们常规认知的物理系统组件Physics&…

GDKOI 2023游记总结

不知觉就咕了1.5个月 在回忆 2021 年那个刚步入初中的懵懂孩童参加 GDOI 的惊喜中感慨初中时光的飞逝。 2021 GDOI 普及组游记 Day - ∞ \infty ∞ 去年因为疫情取消了,今年难得重新举办,珍惜每一次机会吧。 前年的地点订在深圳耀华学校,忘…

老外从神话原型中提取的12个品牌个性

老外从神话原型中提取的12个品牌个性 也是西方视角,需要本土化 参照心理学大师荣格的理论:心理学潜意识派 趣讲大白话:品牌的调调是啥 【趣讲信息科技151期】 **************************** 12种原型又归属于4种人性动机。 1、稳定&#xff0…

Python小姿势 - ## Python中的迭代器与生成器

Python中的迭代器与生成器 在Python中,迭代是一个非常重要的概念,迭代器和生成器是迭代的两种最常见的形式。那么,迭代器与生成器有何不同呢? 首先,我们先来了解一下迭代器。 迭代器是一种对象,它可以记住遍…

第二十八章 React脚手架配置代理

为了更好地理解如何在React应用程序中配置代理,我们需要先了解什么是代理。 代理是一种充当客户端和服务器之间中间人的服务器。当客户端向服务器发送请求时,代理服务器将接收请求并将其转发到服务器。服务器将响应发送回代理服务器,代理服务…

Spring:Bean的实例化(构造方法、静态工厂和实例化工厂)

三种方式&#xff0c;分别为构造方法、静态工厂和实例化工厂 新建Module项目&#xff0c;选择Maven&#xff0c;在pom.xml导入如下依赖&#xff1a; pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.o…