应用负载均衡基本原理解析(一)

简介:

负载均衡,这个词对现在的IT工程师来说已经不陌生了,随着各类大型网站的访问量节节高升,各种数据存放越来越集中,对服务器性能的要求也越来越高,这个时候,一个完善的应用负载均衡就显得尤为重要。也许很多IT工程师都已经配置过类似的设备,但是在配置过程中往往对一些细节不甚了了,所以也就不能很好的分析解决碰到的问题,这篇文章将从本质上分析一下应用负载的过程细节以及应用负载的重要组成部分及常见的一些问题。

       在谈应用负载之前,我们先来看下未使用负载分担的常规应用流程:

在上图中,源IP172.16.0.1client去访问目标IP10.0.0.1,目标端口为80server,整个应用流程分2个部分:

第一部分:1,2为请求从client到达server的部分,在常规流程中,请求经过三层交换机到达server1,2中源IP,源端口,目的IP,目的端口均未发生改变。

第二部分:3,4为应答从server返回clienet的部分,在常规流程中,应答经过三层交换机到达client3,4中源IP,源端口,目的IP,目的端口均未发生变化。

 

 在了解了常规应用流程以后,让我们假设一个场景,在该场景中,我们采用单臂方式旁路部署应用负载均衡设备,这个时候应用流程会如何改变呢?

 

 

 

     在上图中,172.16.0.1172.16.0.2两台client仍旧去访问10.0.0.1,但是这个时候的10.0.0.1只是一个虚拟IP,而其后面有10.0.0.210.0.0.3两台真实的server。上图所示的应用负载分担流程中,和常规应用流程不同的是,分为了4个部分:

     第一部分:1,2为请求从client发到应用负载分担设备上的过程,这个过程中源IP,源端口,目标IP,目标端口无变化

     第二部分:3为请求达到应用负载分担设备以后被进行目标地址转换和源地址转换以后发往选择的server的过程,这个过程中,源IP,源端口,目标IP均发生了变化(在该场景中,目标端口未发生变化,但是在实际场景中,是否发生变化视应用需求而定)

     第三部分:4为应答从server返回应用负载设备的过程

     第四部分:5,6为应答达到应用负载设备以后,将3步骤中被修改的源IP,源端口,目标IP改回来以后,返回到client的过程,这个过程中,源IP,源端口,目标IP均发生了变化。   

     我们注意一下上图中3对应的过程,请求的源IP已经发生改变,从172.16.0.1(或者172.16.0.2)变为了10.0.0.100,该改变是在旁路模式下应用正常工作的需要。如果不进行源IP的改变会怎么样呢? 

我们来看下面的图:

     在上图中我们可以发现,如果只进行目标IP和目标端口的转换,而不进行源IP的转换,那当上图中3步骤中请求到达真实server 10.0.0.2:80的时候,源IP还是172.16.0.1,所以10.0.0.2就会直接把应答发回给client,而不会返回给应用负载设备,这个时候连接是无法建立的。所以在旁路模式下,到达应用负载设备的请求,除了进行目标IP、目标端口转换,还需要进行源IP的转换,这样,服务器的应答才能返回给应用负载设备,从而应用负载设备才能将转发请求时候更改的相关参数再改回来,如此才能让clientserver建立一个完成的连接,完成一个完整的负载分发过程。(旁路模式下,除了让应用负载设备进行请求的源IP转换这个方式外,如果clientserver不在同一个网段,则还有另外一种处理,既将server的网关指向应用负载设备,这种方式的优点在于应用负载设备上不需要进行请求的源地址转换,所以server上可以看到请求的真实IP地址,有些应用有这个需求;而缺点在于server上所有走向不同网段的流量,不管是主动还是被动,不管是相关应用流量还是无关应用流量都会发往应用负载设备,从而导致无关流量占用了应用负载设备的宝贵资源。

 

     经过对以上2个应用过程的分析,我们可以对应用负载分担的本质做出如下总结:

     对于到达某个特定的IP及端口的请求进行处理,将该请求的目标IP(和端口)进行目标地址转换(或端口转换)以后发往转换后的IP(和端口),并在需要的时候进行请求的源IP转换。

     看起来很简单吧,但是难道仅仅如此吗?

 

     (待续)

 


本文转自 virtualadc 51CTO博客,原文链接:http://blog.51cto.com/virtualadc/648258

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
机器学习/深度学习 文字识别 监控
安全监控系统:技术架构与应用解析
该系统采用模块化设计,集成了行为识别、视频监控、人脸识别、危险区域检测、异常事件检测、日志追溯及消息推送等功能,并可选配OCR识别模块。基于深度学习与开源技术栈(如TensorFlow、OpenCV),系统具备高精度、低延迟特点,支持实时分析儿童行为、监测危险区域、识别异常事件,并将结果推送给教师或家长。同时兼容主流硬件,支持本地化推理与分布式处理,确保可靠性与扩展性,为幼儿园安全管理提供全面解决方案。
578 3
|
弹性计算 负载均衡 网络协议
阿里云SLB深度解析:从流量分发到架构优化的技术实践
本文深入探讨了阿里云负载均衡服务(SLB)的核心技术与应用场景,从流量分配到架构创新全面解析其价值。SLB不仅是简单的流量分发工具,更是支撑高并发、保障系统稳定性的智能中枢。文章涵盖四层与七层负载均衡原理、弹性伸缩引擎、智能DNS解析等核心技术,并结合电商大促、微服务灰度发布等实战场景提供实施指南。同时,针对性能调优与安全防护,分享连接复用优化、DDoS防御及零信任架构集成的实践经验,助力企业构建面向未来的弹性架构。
895 76
|
人工智能 API 开发者
HarmonyOS Next~鸿蒙应用框架开发实战:Ability Kit与Accessibility Kit深度解析
本书深入解析HarmonyOS应用框架开发,聚焦Ability Kit与Accessibility Kit两大核心组件。Ability Kit通过FA/PA双引擎架构实现跨设备协同,支持分布式能力开发;Accessibility Kit提供无障碍服务构建方案,优化用户体验。内容涵盖设计理念、实践案例、调试优化及未来演进方向,助力开发者打造高效、包容的分布式应用,体现HarmonyOS生态价值。
829 27
|
供应链 项目管理 容器
深入探索 BPMN、CMMN 和 DMN:从定义到应用的全方位解析
在当今快速变化的商业环境中,对象管理组织(OMG)推出了三种强大的建模标准:BPMN(业务流程模型和符号)、CMMN(案例管理模型和符号)和DMN(决策模型和符号)。它们分别适用于结构化流程管理、动态案例处理和规则驱动的决策制定,并能相互协作,覆盖更广泛的业务场景。BPMN通过直观符号绘制固定流程;CMMN灵活管理不确定的案例;DMN以表格形式定义清晰的决策规则。三者结合可优化企业效率与灵活性。 [阅读更多](https://example.com/blog)
深入探索 BPMN、CMMN 和 DMN:从定义到应用的全方位解析
|
数据采集 机器学习/深度学习 存储
可穿戴设备如何重塑医疗健康:技术解析与应用实战
可穿戴设备如何重塑医疗健康:技术解析与应用实战
680 4
|
传感器 人工智能 监控
反向寻车系统怎么做?基本原理与系统组成解析
本文通过反向寻车系统的核心组成部分与技术分析,阐述反向寻车系统的工作原理,适用于适用于商场停车场、医院停车场及火车站停车场等。如需获取智慧停车场反向寻车技术方案前往文章最下方获取,如有项目合作及技术交流欢迎私信作者。
1028 2
|
存储 弹性计算 安全
阿里云服务器ECS通用型规格族解析:实例规格、性能基准与场景化应用指南
作为ECS产品矩阵中的核心序列,通用型规格族以均衡的计算、内存、网络和存储性能著称,覆盖从基础应用到高性能计算的广泛场景。通用型规格族属于独享型云服务器,实例采用固定CPU调度模式,实例的每个CPU绑定到一个物理CPU超线程,实例间无CPU资源争抢,实例计算性能稳定且有严格的SLA保证,在性能上会更加稳定,高负载情况下也不会出现资源争夺现象。本文将深度解析阿里云ECS通用型规格族的技术架构、实例规格特性、最新价格政策及典型应用场景,为云计算选型提供参考。
|
人工智能 自然语言处理 算法
DeepSeek大模型在客服系统中的应用场景解析
在数字化浪潮下,客户服务领域正经历深刻变革,AI技术成为提升服务效能与体验的关键。DeepSeek大模型凭借自然语言处理、语音交互及多模态技术,显著优化客服流程,提升用户满意度。它通过智能问答、多轮对话引导、多模态语音客服和情绪监测等功能,革新服务模式,实现高效应答与精准分析,推动人机协作,为企业和客户创造更大价值。
1020 5
|
机器学习/深度学习 JSON 算法
淘宝拍立淘按图搜索API接口系列的应用与数据解析
淘宝拍立淘按图搜索API接口是阿里巴巴旗下淘宝平台提供的一项基于图像识别技术的创新服务。以下是对该接口系列的应用与数据解析的详细分析
|
负载均衡 JavaScript 前端开发
分片上传技术全解析:原理、优势与应用(含简单实现源码)
分片上传通过将大文件分割成多个小的片段或块,然后并行或顺序地上传这些片段,从而提高上传效率和可靠性,特别适用于大文件的上传场景,尤其是在网络环境不佳时,分片上传能有效提高上传体验。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

相关实验场景

更多

推荐镜像

更多
  • DNS