热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

负载均衡原理剖析与实践:负载均衡第一篇介绍篇

负载均衡第一篇-介绍篇系列文章索引:负载均衡第一篇-介绍篇负载均衡第二篇-负载均衡基础知识普及前言:相信朋友们对负载均衡应该不陌生了!特别
负载均衡第一篇-介绍篇
 
系列文章索引:
负载均衡第一篇-介绍篇
负载均衡第二篇-负载均衡基础知识普及
 
前言:相信朋友们对负载均衡应该不陌生了!特别是对搞运维的朋友!可能很多的技术人员认为,负载均衡不是搞IT运维的人管的吗,关我们开发人员什么事情?曾经,我也是这样想的,但是后来发现我错了。开发人员,需要懂性能方面的问题,而负载均衡也是属于性能的范畴,so…!如果开发人员想继续不断的提升自己,走向设计,架构的角色,那么,你就必须对技术的有全面的把握和整体的评估,才能在项目中从软件和硬件多方面考虑,真正的实现可用性,扩展性,灵活性。
 
    曾经经历过很多的项目,特别实在做外包的时候,基本上涉及不到什么性能的问题,极少涉及到负载均衡。当我接触了互联网之后,常常被人笑话我是搞企业开发的,不懂性能,于是我开始关注性能,也知道有负载均衡,那时候,感觉思维一下子被打开了,发现了一个不一样的天地!但是负载均衡缺少很多的资料,网络上很多的地方和文章都只是讲了点皮毛,刚要深入的时候,就没了!
 
    技术,入门容易,学精难!不精,就没有核心竞争力,因为谁都懂,谁都可以替代你!所以要精!
 
    在这里,我将会深入的剖析负载均衡的原理,使用!甚至你可以感觉到,之后,你可以自己写一个负载均衡的软件出来!之后,在分析问题,思考问题的时候,你会游刃有余!
    ….
 
    负载均衡已经不是什么新的概念了,负载均衡也不仅仅就指的把一些服务器放在一起实现分压。负载均衡是一个统称。而我们平时谈的最多的就是服务器负载均衡,全球负载均衡,防火墙负载均衡,缓存负载均衡!(在后面,会慢慢的讲述各个方面)。
 
    就拿服务器负载均衡而言,它主要是把请求分摊在多个服务器资源上面。负载均衡还可以实现很精确的服务器健康检查机制,请求的转发。另外,因为负载均衡部署在服务器的前端,所以,它也可以包含服务器免受恶意用户的***,提高安全。同时,还可以基于IP数据包中的信息进行智能的选择不同的程序,不同的服务器来处理!
 
    负载均衡的必要性
随着互联网的普及,越来越多的人开始在线使用服务。同时,也不能容忍网络突然崩溃或者网速、服务的性能超低,特别是对于涉及到网上交易的应用而言,任何一点问题的出现,都是重大的经济损失。为了保证提供更好,更稳定的服务,我们会不断升级服务器的相关设备。
 
    虽然说根据摩尔定律:计算机的处理速度每18个月会翻一番。但是这个速度依然赶不上互联网放在的速度和用户对服务的需要,并且购买更好的设备,不仅仅昂贵,性价比也不理想。
 
    那么这里其实就已经涉及到了一个可伸缩性的挑战。下面,我们就来看看一些常用的可伸缩性方案。
 
    正如之前所说的,计算机的更新速度无法赶上用户需要,这个时候集群技术就应用而生了,这个技术主要是那些大型计算机厂商提供的,集群技术的提出在一定的程度上面缓和了之前的问题。下面,我们就来看看两种比较典型的集群技术:松耦合系统,对称多处理器系统。
 
松耦合系统
 
    松耦合系统是由很多的完全相同的计算机块组成,这些计算机块之间通过系统的总线连接。其中,每一个块都包含各种的处理器,内存,磁盘控制器,磁盘驱动,网络接口等。其实,每个块都可以看出是一个独立的计算机,只不过现在他们被聚在了一起。下面的草图显示这个关系:
 
20120326105512.png
    这个图,非常熟悉,我这里只是简述一下!OSI,就是开放的网络协议的标准了。从图中可以看到,这OSI模型,定义了七层,从物理层一直到最上面的应用层。网络协议,例如Tcp,UDP,IP,Http等分别对应模型中的不同层。其中IP协议处于第三层,TCP,UDP处理第四层。
大家就要问了?这个有啥用呢?
 
    我们又知道:传统的路由器和交换器会位于OSI的第二或者第三层。也就说,它们决定了一个数据包必须如何被处理以及必须发往何处。尽管第二、三层的交换器做了非常了不起的事情,但是,其实在数据包的头信息中,有更多的有价值的信息没有被使用。如果我们在这个时候,将数据包获取,然后分析里面的头信息,然后将请求按照我们的需要进行转发,那么就可以在第二、层实现负载均衡等技术。这也是我们常常看到或者听到的Layer 2/3 Switching
 
    另外,如果在第四层到第七层中获取数据包,分析头信息,然后按需转发请求,就是所谓的“Layer 4 through 7 Switching”。在第四层中,TCP和UDP的头中包含了大量的信息,而这些信息可以使得我们更加智能的实现请求的转发。例如,当用户发送Http请求到部署到Tcp 80端口的站点的时候,我们可以分析通过分析头信息得到这个信息,从而可以将请求转发到其他的服务器上去。
今天先到这里,东西不多,废话可能一大堆 J!


推荐阅读
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 在JavaWeb项目架构中,NFS(网络文件系统)的实现与优化是关键环节。NFS允许不同主机系统通过局域网共享文件和目录,提高资源利用率和数据访问效率。本文详细探讨了NFS在JavaWeb项目中的应用,包括配置、性能优化及常见问题的解决方案,旨在为开发者提供实用的技术参考。 ... [详细]
  • TCP三次握手过程详解与图示解析
    本文详细解析了TCP三次握手的过程,并通过图示清晰展示了各个状态的变化。同时,文章还介绍了四次挥手的图解,解释了在TIME_WAIT状态中,客户端最后一次发送的ACK包的作用和重要性。 ... [详细]
  • 解读中台架构:微服务与分布式技术的区别及应用
    中心化与去中心化是长期讨论的话题。中心化架构的优势在于部署和维护相对简单,尤其在服务负载较为稳定的情况下,能够提供高效稳定的性能。然而,随着业务规模的扩大和技术需求的多样化,中心化架构的局限性逐渐显现,如扩展性和故障恢复能力较差。相比之下,微服务和分布式技术通过解耦系统组件,提高了系统的灵活性和可扩展性,更适合处理复杂多变的业务场景。本文将深入探讨中台架构中微服务与分布式技术的区别及其应用场景,帮助读者更好地理解和选择适合自身业务的技术方案。 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 阿里巴巴终面技术挑战:如何利用 UDP 实现 TCP 功能?
    在阿里巴巴的技术面试中,技术总监曾提出一道关于如何利用 UDP 实现 TCP 功能的问题。当时回答得不够理想,因此事后进行了详细总结。通过与总监的进一步交流,了解到这是一道常见的阿里面试题。面试官的主要目的是考察应聘者对 UDP 和 TCP 在原理上的差异的理解,以及如何通过 UDP 实现类似 TCP 的可靠传输机制。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • 考前准备方面,我的考试时间安排在上午11点至12点,只需提前20分钟到达考场的接待休息区即可。由于我居住在福田区,交通便利,可以选择多种方式前往考场。为了确保顺利通过考试,我建议考生提前熟悉考试流程和环境,并合理规划出行时间,以保持良好的心态和状态。此外,考前复习应注重理论与实践相结合,多做模拟题,加强对重点知识点的理解和掌握。 ... [详细]
  • 深入解析OSI七层架构与TCP/IP协议体系
    本文详细探讨了OSI七层模型(Open System Interconnection,开放系统互连)及其与TCP/IP协议体系的关系。OSI模型将网络通信过程划分为七个层次,每个层次负责不同的功能,从物理层到应用层逐步实现数据传输和处理。通过对比分析,本文揭示了OSI模型与TCP/IP协议在结构和功能上的异同,为理解现代网络通信提供了全面的视角。 ... [详细]
author-avatar
aofeng12_313
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有