热门标签 | 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!


推荐阅读
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • [翻译]微服务设计模式5. 服务发现服务端服务发现
    服务之间需要互相调用,在单体架构中,服务之间的互相调用直接通过编程语言层面的方法调用就搞定了。在传统的分布式应用的部署中,服务地 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
  • 服务网关与流量网关
    一、为什么需要服务网关1、什么是服务网关传统的单体架构中只需要开放一个服务给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,如果没有网关& ... [详细]
  • 14亿人的大项目,腾讯云数据库拿下!
    全国人 ... [详细]
  • IP、ARP、TCP、UDP、ICMP、DNS、路由协议、DHCP协议的缺陷,容易受到的攻击,以及防御措施1、IP协议1.1、介绍: ... [详细]
  • Java工程师书单(初级,中级,高级)
    简介怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作一两年之后开始迷茫的程序 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
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社区 版权所有