`
xitonga
  • 浏览: 587245 次
文章分类
社区版块
存档分类
最新评论

海量高并发处理网站的负载均衡如何设计

 
阅读更多

【IT168 应用】随着线上业务的发展,网站面临高并发访问和海量数据流的情况屡见不鲜,系统中的各个核心设备所负担的处理能力和计算强度也会相应增大,使得单一设备根本无法承担。如果淘汰现有设备去做硬件升级,将造成资源的浪费,而且如果以后面临业务量的激增,又不得不再次投入高额的硬件升级成本,甚至性能再卓越的设备也不能满足将来业务量的需求。

  在此种情况下,单纯的网络架构就显得捉襟见肘了,而负载均衡机制则应运而生。服务器负载均衡(Server Load Balancing),其原理是将工作任务相对均衡地分摊到多个节点(服务器集群)上执行,从而提升整个业务系统的性能。诸如LVS、HA Proxy等开源软件,可以在现有的网络基础架构之上建立负载均衡机制,以满足业务增长的需要,对于网站的来说不啻为一种廉价且有效的扩展性选择。

  此外,针对互联网上有可能影响数据传输的各种环节,CDN(Content Delivery Network)内容交付网络的应对方案也适时出现。CDN对网站内容的处理,主要在于利用缓存技术将静态内容快速分发至边缘节点,通过让用户就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度,同时也减轻了网站自身系统的性能压力。

  现在看来,貌似我们已经解决了网站发布所面临的所有瓶颈了,但是实际上问题远没有那么简单。一方面,对于数据交互比较频繁的动态内容而言,CDN只能在其中心节点与源数据节点(网站自身系统)之间做有限的传输优化,加速效果远不如静态内容做缓存分发那般明显。

  另一方面,随着线上业务、电子商务等领域的Web内容呈现日渐丰富,涌现出了愈发复杂的业务交付需求,这对网站的发布方而言也意味着将面临更多的挑战。因此,当我们抛开网络的传输质量、带宽拥塞程度等外界因素来看的话,又不得不正视一个问题--影响网站访问效果的最大瓶颈还是在于源数据节点自身的处理性能。

  以电子商务网站这种典型的大型高并发访问量的线上业务为例,其性能瓶颈最容易出现在联机事务处理(OLTP)的环节,例如访问用户进行条目查阅、订单确认等场景。产生这种情况的原因在于,网站的运营方出于数据安全等因素的考虑,是不可能将后台数据库等资源完全向CDN服务商开放的。由此造成,所有涉及到此类动态资源的访问就会频繁地经由CDN网络的边缘节点上溯到源数据节点(即网站自身系统)来请求实时地响应处理。在保障数据安全性的前提下,要解决网站的性能瓶颈问题,必须提高源数据节点的业务处理效率,因此我们还得从网络架构的设计着手。

前文提到过,单台服务器的处理能力有限,当突发访问量骤然增加的时候,其性能就会成为整个系统的瓶颈,导致用户访问的响应缓慢甚至网站服务器瘫痪。为了满足高并发量访问的需求,可以通过软件手段实现服务器集群的多机负载均衡效果。然而,这种软件式的负载均衡有一个不可避免的缺点,那便是系统的稳定性和性能方面受限于软件所安装运行的服务器,一旦访问量过大时,该台服务器就恰恰成了整个系统的瓶颈所在。

  就一个发布线上业务的网站系统而言,前台的Web服务器由于有外部的CDN服务作为静态内容的分流渠道,尚不至于产生明显的系统瓶颈,而后台处理动态内容的核心业务系统就难免会感到压力巨大了。具体分析的话,当前的业务系统多采用客户端--中间件--数据库的三层结构设计,通常多是利用WebLogic中间件软件自带的服务器集群功能来满足高性能需求,其中一台WebLogic Server作为管理服务器负责任务调度,实现负载均衡效果。但是,当访问用户到达一定数目的时候,由于该服务器自身的硬件性能瓶颈,会造成整个系统的联机事务处理效率低下;而且由于WebLogic自身设计的原因,当任务量达到一定阀值的时候,即便是升级服务器硬件性能也无法提升其进行负载均衡调度的能力。

  针对上述情况,最好的办法莫过于采用硬件负载均衡设备,以解决数据流量过大、任务负荷过重所产生的系统瓶颈问题。在这一方面,业内知名的硬件厂商有F5、深信服等等。值得一提的是,深信服的应用交付产品除具有传统负载均衡功能外,其独有的单边加速技术,能够在跨运营商网络环境中,通过广域网传输文件及应用的访问时间减少30%以上,极大提高了用户体验。

  虽然部署硬件设备意味着一笔额外的开支,但是它给网站的整体业务系统所带来的性能提升,却是传统的软件方案所望其项背的。除此之外,专业的硬件设备所能提供的负载调度算法和健康检查机制也更加丰富、全面,有助于进一步提升关键业务发布的稳定性和持久性,这对于高并发量的大型网站而言是极具价值的。

  当然,对于不同规模、不同业务的网站而言,没有一概而论的设计标准,文中提到的技术手段都有着相应的适用场景,这就需要网站的架构师们做具体的规划了。

分享到:
评论

相关推荐

    海量结构化数据高并行处理的负载均衡方法.pdf

    根据实际工作中遇到的项目经验,详细的介绍海量数据大规模并行处理中基于数据流的负载均衡技术和困难,并基于此提出优化方案和测试数据

    性能调优 海量并发 系统架构

    高性能高并发服务器架构 基于nginx的tomcat负载均衡和集群 实现多服务器负载均衡 系统性能优化 数据库 Nginx+Squid负载均衡 配置好的集群 总共三十个文档">Apache+Tomcat+Session+Memcache 高性能群集搭建 J2EE性能...

    基于Nginx负载均衡的动态改进算法_张宇星.pdf

    一旦服务器承受不住这样的高并发请求,由此带来的网络拥塞和延迟极大的影响用户体验。负载均衡是高可用网络基础架构的关键组件,通过在后端引入一个负载均衡器,将工作负载分布到多个服务器来缓解海量并发请求对服务器...

    大型网站架构系列:负载均衡详解

    纵向扩展,是从单机的角度通过增加硬件处理能力,比如CPU处理能力,内存容量,磁盘等方面,实现服务器处理能力的提升,不能满足大型分布式系统(),大流量,高并发,海量数据的问题。因此采用横向扩展的方式,通过...

    高性能高并发服务器架构大全

     说说大型高并发高负载网站的系统架构 28  mixi技术架构 51 mixi.jp:使用开源软件搭建的可扩展SNS网站 51 总概关键点: 51 1,Mysql 切分,采用Innodb运行 52 2,动态Cache 服务器 -- 52 美国Facebok.com...

    大型高并发 web 应用系统架构

    文章首先讨论外网中在全国范围使用的镜像网站,CDN 内容分 发网络等加速技术,其次着重对本地服务器内网中集群分布,分层处理进行详细分析,包括 硬件解决方案和软件解决方案的交换负载均衡技术,基于磁盘缓存模式和...

    大型分布式网站架构设计与实践.带目录书签.完整版.rar

    深入地讲述了大型分布式网站架构设计的核心原理,并通过一些架构设计的典型案例,帮助读者了解大型分布式网站设计的一些常见场景及遇到的问题。 作者结合自己在阿里巴巴及淘宝网的实际工作经历展开论述。《大型...

    论文研究-分布式卫星资源高效共享平台研究.pdf

    设计了分层的系统架构,包括负载均衡层、前端缓存层、应用服务层、数据库缓存层和数据库应用层,通过在应用服务层简单添加服务器就可以使系统性能线性增长,很好地解决了高并发访问的问题。仿真实验结果表明,系统...

    大型互联网架构—深入剖析负载均衡终极解决方案

    面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器、大型数据库,存储设备,高性能Web服务器,采用高效率的编程语言比如(Go,Scala)等,当单机容量达到极限时,我们需要考虑业务拆分和分布式部署,来...

    大数据处理过程.docx

    并且如何在这些数据库之间进行负载均衡和分片的确是需要深入的思考和设计。 大数据时代处理之二:导入/预处理(抽取) 虽然采集端本身会有很多数据库,但是如果要对这些海量数据进行有效的分析,还是应该将这些来自...

    大数据处理过程(1).docx

    并且如何在这些数据库之间进行负载均衡和分片的确是需要深入的思考和设计。 大数据时代处理之二:导入/预处理(抽取) 虽然采集端本身会有很多数据库,但是如果要对这些海量数据进行有效的分析,还是应该将这些来自...

    mysql海量数据存储和访问解决方案

    通过负载均衡策略,有效的降低了单台机 器的访问负载,降低了宕机的可能性;通过集群方案,解决了数据库宕机带来的单点数据库不能访问的问题;通过读写分离策略更是最大限度了提高了应用中读取 (Read)数据的速度和...

    mysql 海量数据的存储和访问解决方案

    通过负载均衡策略,有效的降低了单台机器的访问负载,降低了宕机的可能性;通过集群方案,解决了数据库宕机带来的单点数据库不能访问的问题;通过读写分离策略更是最大限度了提高了应用中读取(Read)数据的速度和...

    淘淘商城源码下载(带Sql)

    淘淘商城SSM+Redis+Dubbo+ActiveMQ+Ajax 1.技术新 2.技术范围广 3.分布式 4.高并发、集群、负载均衡、高并发 5.海量数据 6.业务复杂 7.系统安全 简介请移步www.github.com/994683607

    仿淘宝商城项目实践

    与传统的项目相比,该行业技术要求相对较高,传统的项目1000高并发已经是上线了,但是在电商项目中,如淘宝,京 ...高并发、集群、负载均衡、高可用 海量数据、业务复杂 系统安全(因为涉及支付及隐私等)

    大数据分析及处理方法.docx

    并且如何在这些数据库之间进行负载均衡和分片确实是需要深入的思索和设计。 导入/预处理 虽然采集端本身会有许多数据库,但是假如要对这些海量数据进行有效的分析,还是应当将这些来自前端的数据导入到一个集中的...

    java版商城源码下载-wwjd-datacollection:wwjd-datacollection

    java版商城源码下载 背景 万事皆有因,之所以会衍生出 ...原子性操作做幂等处理,下面我来解释一下我们这边处理的逻辑,首先用户触发埋点接口,通过网关的负载均衡处理到具体的埋点系统,然后通过我们安全认证

    基于Mycat的大数据存储研究

    针对大数据存储以及高并发问题,Mycat作为数据库中间件,可以在对原系统的改动很小的基础上,实现分布式数据库的搭建。通过Mycat实现数据库的读写分离和数据切分,达到分散单台设备负载的效果。在此基础上进一步引入...

Global site tag (gtag.js) - Google Analytics