云计算在搭建大规模高并发网站中的应用

来源 :计算机与网络 | 被引量 : 0次 | 上传用户:wfdzdb
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  随着移动互联网、云计算和大数据的不断成熟,网站开发相关的技术已经细分到了各个方面,采用的技术也丰富多样。开发一个大规模高并发的网站,解决方案可以集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、高性能的Web容器以及高可靠性的防火墙。这些方案在一定程度上意味着从硬件设备到软件都需要更大的投入。而云计算的兴起正好解决了这个问题,使用者可以按需从可配置的资源池中获取资源,如网络、服务器、存储资源、防火墙和应用程序等,资源可以快速通过Internet供给和释放,让使用者的工作量和使用成本降低至最少。本文对如何快速搭建一个大规模高并发网站以及开发过程中需要使用的云计算服务进行了简要介绍。
  大型网站都是从小型网站发展起来的,网站架构也是一样。初期,访问量小,只需要一台服务器,随着业务的发展,服务器存储空间不足只能将应用和数据分离。网站访问特点是大部分的浏览都只会集中在一小部分数据上,理论上把这些数据缓存在内存中,就可提高访问速度。但是单一服务器能处理的访问有限,在访问的高峰期,服务器还是会成为网站的瓶颈。如果使用集群来解决高并发的问题,只要不是能弹性扩展的服务器,都满足不了网站持续增长的业务,此外,不同地区的用户访问速度也有差别。为了留住因访问延迟而可能流失用户,网站需要更快的访问速度,这种情况可以使用CDN,让数据尽快返回给用户。大型网站发展到这里,任何单一服务器都满足不了持续增长的业务需求,虽然基本上大多数的技术问题都可以从硬件或者软件方面去解决,但是时间和金钱成本太高。而云计算则提供了一个良好的解决方案,帮助开发者以最高效率和最低成本轻松地开发大型网站。
  网站框架分析与设计
  网站整体架构如图1所示,网站静态化的HTML页面托管在Amazon s3存储桶上。用户访问网站时,Route 53提供高度可用且可扩展的域名系统(DNS),高效地将用户请求连接到AWS中的Elastic Load Balancing负载均衡器和Amazon S3存储桶。当网站遭遇大量的用户请求时,Amazon ELB负载均衡器将前端流量均衡地发放到后端服务器,实现负载均衡,减轻单服务器处理压力。虽然在访问的高峰期,服务器数量还是会成为网站的瓶颈,但是AWS Auto Scaling可以持续监控Amazon EC2云服务器实例运行状况,确保它们以预定的性能水平运行。出现需求高峰时,AWS Auto Scaling可以自动增加受限资源的容量,添加或删除EC2实例,根据预需求自动安排正确数量的EC2实例。同时将应用服务和数据分离,不同特性的AWS Auto Scaling组承担不同的服务角色,使网站的并发处理能力和数据存储都得到改善。数据的读写操作都会直接访问数据库,在网站到达一定规模后,也会增大数据库的压力,这时可以通过Amazon RDS云数据库配置2台数据库搭建主从关系,将一台数据库服务器的数据同步到另一台服务器上,实现数据库的读写分离功能,从而减轻数据库的压力。除此之外,为了提高访问速度,使用Amazon CloudFront内容分发网络服务,智能地将用户流量路由到性能最好的AWS边缘站点位置以提供缓存或动态内容。
  使用Amazon S3托管静态网页
  大型网站的静态内容包括HTML、CSS、JavaScript、图像、视频和其他文件,使用本地服务器的时候,这些静态内容是存储在磁盘里面。随着服务器压力增大,每个用户在浏览页面某个图片时,都会从服务器的磁盘里面检索图片,如图2所示,一旦磁盘出现故障,用户就无法获取这个图片。因此,需要一个海量、高并发、可靠的储存来存放这些静态资源。
  AWS为了满足这种需求提供了Amazon Simple Storage Service(简称Amazon S3),一个公开的云存储服务,用户可以在Amazon S3中存储对象的容量和个数不受限制。要在Amazon S3上托管静态内容,首先需要创建一个S3存储桶,如图3所示,将存储对象上传到存储桶中同时可获取到该对象的URL。图片可以直接将其URL嵌入在Web网页里,无需担心并发问题,后续也可以继续使用cloudfront服务加速分发。
  使用S3服务后,网站的架构也从图2变成了图4,用户在访问网站的静态内容时就不需要访问服务器的磁盘,直接从S3获取静态内容即可。
  使用AWS Auto Scaling组分离应用服务和数据
  动态内容的部分就需要一个服务器来处理。Amazon Elastic Compute Cloud(EC2)提供了可快速启动和管理的虚拟计算环境(服务器),同时可对其计算、内存、存储等方面进行调节。借助AWS Auto Scaling监控服务器的使用率,并根据需求的变化自动实时向资源组添加容量或从中删除容量。
  如图5所示,网站每天的资源需求是不一样的,最好可以分配充足的Amazon EC2容量,以便能始终满足最高的需求时段(图5中是周三)。不过,这意味着运行的资源在一周的大部分时间内都得不到充分利用。
  上述方案,成本并未得到优化。最优的方案是分配较少却刚好适量的Amazon EC2实例来降低成本。如图6所示,当需求上升时,AWS Auto Scaling将自动添加资源容量,当需求下降时,AWS Auto Scaling将自动删除多余的资源容量,节省开支,这样才是最理想的方案。
  同时,为了支持业务的进一步发展,应该将应用服务和数据的服务器分離管理,不同特性的服务器组承担不同的服务角色如图1所示,这样可以使网站的并发处理能力和数据存储都得到很大提升。
  使用Amazon ELB分配流量
  当开启多个EC2实例时,还需要考虑如何统一高效地管理这些虚拟服务器,把流量合理地分发到这些虚拟服务器上。
  弹性负载均衡器Elastic Load Balancing(ELB),将访问的流量分配到多个EC2实例之间。如图7,负载均衡器充当在服务器前面的“交通警察”,并能够最大限度地提高速度和容量利用率,以满足客户端的请求,并确保没有任何服务器超负荷运行。如果单个服务器崩溃,负载均衡器会将流量重定向到剩余的在线服务器。同时,ELB可与自动扩展AWS Auto Scaling相集成,让负载均衡器挂载到现有的Automatic Scaling组中,如图8。挂载负载均衡器之后,当其中有EC2运行状况不佳或不可用时,AWS Auto Scaling将启动未受影响的新实例,负载均衡器会自动开始向其发送请求。当运行恢复到正常状态时,负载均衡器和Automatic Scaling会相应地调整并将流量重新平均分配。
  使用Ainazon RDS实现读写分离
  在数据库层面实现高可用,通常是在软件层面来做。例如,MySQL的主从模式(Master-Slave)能满足需求。Amazon RDS服务可以让用户非常容易且方便地管理关系型数据库,使用Amazon RDS创建Mysql实例,利用mysql数据库提供的主从备份的机制,实现mysql数据库的热备份。同时,RDS提供了可读副本,在创建数据库实例时,同时创建一个副本接收客户端的读请求,然后返回结果给客户端,减轻主数据库的负载压力。
  使用Amazon CloudFront提供缓存
  Internet的统计表明,超过80%的用户经常访问20%的网站内容,因此,使用缓存服务器可以处理大部分客户的相同请求,加快响应时间。如果内容是首次请求,CloudFront将从Amazon S3存储桶或者EC2检索内容。而对于不是首次的请求,那么内容已经缓存在边缘站点上,用户再次请求时,Cloud Front会从延迟最短的边缘站点提供给用户,无需重新检索。
  近几年来,云计算取得了飞速的发展与翻天覆地的变化,逐渐成为信息技术产业发展的战略重点。云计算与传统的网络应用模式相比,其具有虚拟化、可动态扩展、按需使用、灵活性高、兼容性强、可靠性高、性价比高以及可高效扩展应用的优势。使用云计算替代传统IT解决方案是大势所趋,本文基于亚马逊云服务,实现负载均衡、弹性调节服务器数量,降低了数据库压力;同时利用CDN提供缓存,最终形成一个高并发、高可用的网络架构。
其他文献
据国外媒体报道Metalla Royalty & Streaming的总裁Brett Heath最近警告说,加密货币将是点燃金融危机的导火索。他认为,在大规模采用新的金融技术之前,总是会发生重大的金融危机。  自特斯拉卖出比特币后引发了加密货币大调整以来,市场上升趋势在不断的减弱,比特币在过去几周里已经损失了大约50%的价值,而加密货币市场的情况越来越糟。  据媒体报道Brett Heath将当下
计算机作为现代生产、生活的必需工具,在各行各业都得到了广泛使用。提升计算机性能的一个重要方法就是提升计算机的硬件性能,而改变计算机硬件的材料可在不修改计算机布局和其他影响的情况下,达到提高性能的目的。  研究现状分析  很少有文章介绍计算机硬件所用的材料,一般都是关注计算机硬件中各个组件的日常维护,分析内接硬件和外接硬件维护的意义和具体维护方法,这些只考虑现有的硬件架构并未考虑硬件材料。  很多文
在如今高节奏的生活下,每一位年轻人或多或少都背负着一些压力。结束当天高强度的工作后,安安静静地和朋友或者互联网那端的陌生人打几把游戏,成为他们最佳的放松方式。既然要开开心心打游戏,那么游戏笔记本的选择就变得尤为重要,尤其是散热方面,高性能带来的高功耗、高散热,会导致CPU/GPU降频出现卡顿,有甚者直接死机重启,严重影响心情。  暗影精灵7系列配置全线升级为英特尔十一代酷睿Tiger Lake-H
企业在发展的过程中,如果想要不断巩固自身地位,在激烈的竞争中脱颖而出,占有一席之地,就需要不断地去改革和创新经营战略。信息管理系统是保证企业能够稳定发展的基础,虽然它的历史不太长,但是作为一种新型的管理模式和体系,它的发展程度直接关系着企业的未来。  概述企业信息系统以及信息管理系统  当前,我国企业发展的模式已经逐步转换成公司管理企业的模式,这种管理模式集中地体现了市场经濟。以信息作为主要发展要
5G将成为新常态  目前,企业正努力从家庭和远程空间管理运营。5G在2020年已经受到了广泛的欢迎,从2021年起,这项技术将更加突出。5G网络可以提供前所未有的速度和连接性,以满足日益增长的带宽和可靠连接性需求。5G成为主流將实现更好的物联网连接,增强用户体验和数字协作,加速数字转型。  区块链见证发展  随着区块链技术的迅速采用,区块链已经成为人们关注的焦点。区块链在早些时候就与加密货币产生了
本文对高职数字媒体技术专业的教学方式方法进行研究,提出了创新的教学模式、教学方法及可行性方案。随着社会的发展和科技进步,市场人才的竞争也变得日趋激烈,高职数字媒体技术专业传统的教学方式方法培养出来的学生,已经不能适应当今社会和用工企业的需求,要想和市场对接,满足行业的人才需求,培养素质高、专业能力强的高职学生,就必须对该专业现有的教学方式、方法进行改革。以下结合自己的从教体会,谈谈高职数字媒体技术
物联网技术是在互联网技术基础之上发展起来的一种技术,这种技术能够在不同的事物之间建立起信息联系,然后通过这些信息的联系进行信息的交换和应用。物联网技术应用甚广,将物联网技术应用于校园管理中,可以使校园的发展更加智能化,也能够使校园的管理工作更加高效。本文简述了物联网技术的发展现状,提出物联网技术在校园网管理中的应用策略。万事万物都有一定的联系,这是很久以前人们就知道的一个道理,但是长久以来,这也只
随着信息时代的迅速发展和人们要求的不断增加,计算机信息的处理越来越不尽如人意,大数据的出现是电脑处理信息的革新机会。大数据时代计算机信息收集技术是通过各种平台的数据建设,实现大量数据信息的高效收集,建立高效的数据存储系统,让用户可以随时随地收集数据。  随着技术更新信息增多,需要处理的数据信息越来越多,数据会随着时间的推移而变化。计算机电子信息处理技术非常适合用来处理大量数据,可对大数据内的各种信
使用内存取证框架Volatility对获得的内存样本进行分析之前,必须首先为目标操作系统创建一个配置文件。Volatility对所有Windows操作系统的主要版本都有内置的支持,使用时不需要进行额外的制作。然而Linux操作系统是不同的,由于其内核版本、子内核版本和定制内核的数量众多,使得Volatility无法为所有可能的Linux内核版本提供配置文件,需要使用者自己进行制作。  制作工具  
在疫情爆发前,虽然人工智能的采用已经引起了大众的兴趣,但人们仍然在权衡人工智能的利弊、人工智能对商业的影响以及采用人工智能的初始成本。然而,在一个受新冠肺炎及其后果影响的世界里,应用人工智能正在成为一种主流现实。越来越多的行业正在以前所未有的速度试验和适应人工智能,无论是健康、教育、零售还是制造业。  麦肯锡最近的一项调查显示,机器人自动化、计算机视觉和机器学习是企业最常采用的人工智能。  疫情袭