负载均衡是什么?

简介: 负载均衡知识介绍

负载均衡

什么是负载均衡

负载均衡组件,是协调数量庞大的服务器集群对外提供统一的服务访问入口。

负载均衡根据一定算法把外部请求分配到集群内不同的服务器。

xn_2022-08-30_09-22-53

负载均衡:

  1. DNS

​ 一个域名通过DNS解析到多个IP,每个IP对应不同的服务器 实例,这样就完成了流量的调度,虽然没有使用常规的负载均衡器,但实现了简单的负载均衡功能。

  1. 硬件负载均衡

    硬件负载均衡是通过专门的硬件设备来实现负载均衡功能,是专用的负载均衡设备。目前业界典型的硬件负载均衡设备有两款:F5和A10

  2. 软件负载均衡

    软件负载均衡,可以在普通的服务器上运行负载均衡软件,实现负载均衡功能。目前常见的由NGINX,haproxy,lvs。

应用场景

  1. 流量分发:

    将高访问量的业务通过负载均衡发到多台云服务器上。

  2. 消除单点故障

    当其中一部分的云服务器不可用时,负载均衡可自动屏蔽故障的云服务器实例,保障应用系统正常工作

  3. 横向扩展

​ 根据业务发展的需要,按需扩展应用系统的服务能力,适用于各种webserver 和app server

  1. 全局负载均衡

​ 支持全局多地负载均衡,保障异地容灾

组件模块

  1. nginx

    nginx是一款自由的,开源的,高性能的http服务器和反向代理服务器,nginx可以作为一个http服务器进行网站的发布处理,也可以作为反向代理进行负载均衡。

  2. LVS

​ LVS也就是linux虚拟服务器。

​ 通过lvs达到负载均衡技术和linux操作系统可以实现一个高性能高可用的linux服务器集群。它具有良好的可靠性,可扩展性和可操作性

  1. keepalived

​ keepalived是集群管理中保证集群高可用的一个服务软件,keepalived软件主要是通过vrrp协议实现高可用。

正向反向代理

正向代理

88f9adf678fe7d58b5e33f766297c73a

正向代理是代理客户端,为客户端收发请求,使真实客户端对服务器不可见。

用途:

  • 突破访问显示:通过代理服务器,可以突破自身 ip 访问限制,访问国外网站等
  • 提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,会将部分请求的响应保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度
  • 隐藏客户端真实 ip:上网者可以通过正向代理的方法隐藏自己的 ip,免受攻击

反向代理

a5c4db9aae68b5b530175c5b7201881e

反向代理是代理服务器,为服务器收发请求,使真实服务器对客户端不可见。

用途:

  • 隐藏服务器真实 ip:使用反向代理,可以对客户端隐藏服务器的 ip 地址
  • 负载均衡:反向代理服务器可以做负载均衡,根据所有真实服务器的负载情况,将客户端请求分发到不同的真实服务器上
  • 提高访问速度:反向代理服务器可以对静态内容及短时间内有大量访问请求的动态内容提供缓存服务,提高访问速度
  • 提供安全保障:反向代理服务器可以作为应用层防火墙,为网站提供对基于 web 的攻击行为(例如 DoS/DDoS)的防护,更容易排查恶意软件等。还可以为后端服务器统一提供加密和 SSL 加速(如 SSL 终端代理),提供 HTTP 访问认证等。
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
Kubernetes Java Linux
Linux|操作系统|Error: Could not create the Java Virtual Machine 报错的解决思路
Linux|操作系统|Error: Could not create the Java Virtual Machine 报错的解决思路
4439 0
|
5月前
|
人工智能 前端开发 UED
如何快速实现AI大模型聊天对话框的页面布局?
本文介绍了如何使用CSS的Flex布局快速实现AI聊天对话框界面。通过`align-self`控制消息气泡左右对齐,结合`max-width`等样式优化显示效果,轻松完成一问一答的对话布局,适用于前端开发中的常见聊天场景。
708 0
|
12月前
|
SQL 数据建模 关系型数据库
别光知道存数据库了,数据建模才是王道!(入门指南+实战代码)
别光知道存数据库了,数据建模才是王道!(入门指南+实战代码)
2890 4
|
负载均衡 算法 安全
硬件负载均衡和软件负载均衡有什么区别?
硬件负载均衡和软件负载均衡有什么区别?
713 127
|
11月前
|
Linux 数据安全/隐私保护
当Linux普通用户尝试修改密码时遇到“passwd: Authentication token manipulation error”的解决方法。
这些步骤应当能够解决大部分出现“passwd: Authentication token manipulation error”错误的情况。及时保持系统的更新也有助于预防类似的问题发生。有时候,系统更新或者补丁能解决潜在的bug和不兼容的问题。
3876 0
|
12月前
|
存储 监控 Java
Java 异步编程常见难题深度拆解与解决方案
本文深入探讨Java异步编程的核心技术与常见难题,涵盖同步与异步的区别、核心接口(Future、Callable、CompletableFuture)的使用,以及回调地狱、任务组合、异常处理、线程池管理等难点的解决方案。通过实际案例与代码示例,帮助开发者掌握异步编程技巧,提升系统性能与资源利用率。同时,文章还提供了性能优化建议与最佳实践,如合理配置线程池、避免过度异步及加强监控日志。适合希望深入理解Java异步编程的开发人员。[点此获取代码示例](https://pan.quark.cn/s/14fcf913bae6)。
371 4
|
11月前
|
存储 算法 安全
JVM虚拟机篇
JVM虚拟机篇
555 0
|
Java 数据库
【YashanDB知识库】kettle同步大表提示java内存溢出
在数据导入导出场景中,使用Kettle进行大表数据同步时出现“ERROR:could not create the java virtual machine!”问题,原因为Java内存溢出。解决方法包括:1) 编辑Spoon.bat增大JVM堆内存至2GB;2) 优化Kettle转换流程,如调整批量大小、精简步骤;3) 合理设置并行线程数(PARALLELISM参数)。此问题影响所有版本,需根据实际需求调整相关参数以避免内存不足。
|
安全 网络协议 Java
【最佳实践系列】高并发调用百炼语音合成大模型
本文介绍了阿里云百炼的CosyVoice语音合成大模型及其高并发调用优化方案。CosyVoice支持文本到语音的实时流式合成,适用于智能设备播报、音视频创作等多种场景。为了高效稳定地调用服务,文章详细讲解了WebSocket连接复用、连接池和对象池等优化技术,并通过对比实验展示了优化效果。优化后,机器负载降低,任务耗时减少,网络负载更优。同时,文章还提供了异常处理方法及常见问题解决方案,帮助开发者更好地集成和使用SDK。
3379 16
|
网络协议 安全 Linux