ae币今日价格,ae币超链上线日期

  

  一、大型网站系统的特点   

  

  高并发,高流量3360需要面对高并发用户,高流量访问。谷歌日均PV数35亿,日均IP访问数3亿。2011年腾讯QQ用户最大在线人数为1.4亿,2012年淘宝双11活动日交易额为191亿,活动第一分钟独立用户数达到1000万。   

  

  拓展: PV、UV、IV的概念   

  

  PV: PV页面浏览量(Page View),即页面浏览量。每次打开一个页面,PV计数为1,刷新页面也是如此。   

  

  UV: UV访客指独立访客数,一台电脑终端为一个访客。   

  

  IV: IV指的是IP访问的次数,计算是一个独立的IP在一个计算周期内访问一个网站,按一个IP访问计算。在同一个计算周期内,无论这个IP被访问了多少次,都算作1次。计算周期包括作为计算周期的一天和作为计算周期的一小时。   

  

  高可用性: 7 * 24小时不间断服务。大型网站宕机一般会成为焦点,比如2010年百度域名被黑客劫持,双11淘宝宕机,12306网站并发事件数过高宕机,微博流量明星宕机。   

  

     

  

  海量数据:海量数据需要存储和管理,同时需要大量的服务器。脸书每周上传的照片数量接近10亿张,百度收录的网站有数百亿个,谷歌有近百万台服务器为全球用户提供服务。   

  

  用户分布广泛,网络情况复杂:很多大型互联网公司为全球用户提供服务,各地网络情况千差万别。在国内,也存在各运营商网络互通的问题。中美光缆的几次故障也迫使许多互联网公司考虑在海外设立数据中心。   

  

  安全环境恶劣:因为互联网的开放性,大型互联网公司更容易被黑客攻击,比如facebook用户泄露。   

  

     

  

  需求变化快,发布频繁:不同于传统的企业应用。为了快速适应市场,满足用户需求,互联网公司发布产品非常频繁。至于中小型互联网公司的发布频率就更高了,有时候一天会发布十几次。   

  

  3360的逐步发展,不同于传统行业初期对所有功能性和非功能性需求的规划。很多大型互联网公司都是从小公司起步,逐渐发展起来的。脸书创始人扎克伯克在哈佛的宿舍里开发了它,阿里巴巴诞生在马云家的客厅里。所有好的互联网产品都是迭代的,只是一开始就没有发展好。   

  

  二、大型网站的演变过程's大型网站都是由小型网站发展而来,网站架构都是一样的。网站刚刚开始搭建,处于萌芽阶段,访问量不大,一台服务器完全够用,这也是大多数企业级应用的选择。   

  

     

  

  1. 初始阶段的网站架构   

  

  随着应用程序,数据库,文件都部署在一台服务器的,通常服务器选用Linux,应用程序选用PHP,然后部署在Apache 上,数据库使用MySQL,汇集各种开源软件以及一架廉价的服务器就可以进行开发,业务的发展,一台服务器已经不能满足业务需求:越来越多的用户访问导致性能下降,越来越多的数据导致服务器存储空间不足,需要应用和数据分离。并且整个网站使用三个服务器:应用服务器、文件服务器、数据库服务器。   

  

     

  

  2. 应用服务和数据分离应用和数据分离后,不同特性的服务器承担不同的服务角色,网站的并发处理能力和数据存储都得到了很大的改善,支持业务的进一步发展。但是随着业务的增多,访问量增大,网站又一次面临挑战,数据库压力太多导致访问延迟,进而影响整个网站的性能,用户体验收到   

  

  影响的网站访问量特征和现实世界的财富分配通常符合28: 3360定律。80%的商家访问量集中在20%的数据上,淘宝买家浏览的商品集中在少数成交高、评价好的商品上。百度的搜索关键词集中在几个热门词上,你也会浏览前两页的内容寻找搜索到的词条。   

  

  既然大部分的浏览只会在少量的数据上进行,那么是否可以将这些数据缓存起来放在内存中,从而减轻数据库的压力,提高整个网站的数据访问速度呢?   

改善数据库的写入性能了呢?

  

网站的缓存分为两种: 缓存在本地服务器上的本地缓存,缓存在远程服务器上的远程缓存,本地缓存的访问速度要比远程缓存的更快。但是受应用服务器的内存限制,往往会存在本地缓存和应用程序竞争内存的情况,这种情况在远程服务器上就不会存在,远程分布式缓存可以使用集群的方式,部署大内存的服务器使用专门的缓存服务器,理论上可以做到不受内存限制的缓存服务

  


  

  


  

使用缓存后,有效的改善了数据库访问的压力,但是单一应用程序的服务器能够处理的连接有限,在网站访问的高峰期间,应用服务器会成为网站的瓶颈

  

4. 使用应用服务器集群改善网站的并发处理能力 使用集群是解决高并发,海量数据问题的关键手段,当一台服务器的处理能力、存储空间不足的时候,不要尝试去更换一台存储量更大的服务器,而是考虑集群部署,因为对于大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务。

  


  

  


  

应用服务器集群部署,使用负载均衡服务器做负载控制,能够改善流量峰值对应用服务器的压力,避免单一服务器承担更多的请求压力。如果还有更多的请求,那么就在现有的基础上增加更多的应用服务器。

  

5. 数据库读写分离 使用缓存后,能够改善一部分的数据库访问压力,使绝大多数数据读操作访问不用通过数据库就能完成,但是仍有一部分读(缓存访问不命中,缓存过期)和全部的写操作都会直接访问数据库,在网站到达一定的规模后,也会增大数据库的压力

  

目前大部分主流数据库都提供主从热备功能,通过配置两台数据库搭建主从关系,可以将一台数据库服务器的数据更新同步到另一台服务器上,网站可以利用这一特性,实现数据库的读写分离的功能,从而改善数据库的压力。

  


  

  


  

应用在写数据的时候,访问主服务器,在读数据的时候,访问从服务器,主数据库通过主从复制的功能将数据同步更新到从服务器,这样当有读操作的时候,就会直接访问从服务器,当有写操作的时候,会直接访问主服务器,为了便于应用程序访问读写分离后的数据库,通常在应用服务器端使用专门的数据访问模块,使数据库读写分离对应用透明

  

6. 使用反向代理和CDN加速网站响应 随着网站规模不断扩大,用户规模越来越大,由于国内网络情况复杂,不同地区的用户访问网站时,速度差别也极大。有研究表明,网站访问延迟和用户流失率正相关,网站访问越慢,用户的流失率越快,所以为了更好的用户体验,留住用户,网站需要更快的访问速度,主要手段有使用CDN和反向代理

  

CDN和反向代理的基本原理都是缓存,区别在于CDN部署在网络提供商的机房,使用户在请求网站服务时,可以从距离自己最近的机房获取数据;而CDN则部署在网站的中心机房,当用户请求到达中心机房后,首先访问的服务器是反向代理服务器,如果反向代理服务器缓存着资源,就会直接返回给用户

  


  

  


  

使用CDN的目的都是尽早返回数据给用户,一方面能够加快访问速度,一方面都能减轻服务器的压力

  

7. 使用分布式文件系统和分布式数据库系统 任何强大的单一服务器都满足不了大型网站持续增长的业务需求。数据库经过读写分离后,从一台服务器拆分成两台服务器,但是随着网站业务的发展不能满足业务的需求,需要使用分布式的存储服务器,文件系统能够也是一样,需要使用分布式文件系统。

  

分布式数据库是网站数据库拆分的重要手段,只有在单表数据非常庞大的时候才使用。不到不得已时,网站最常用的数据库拆分手段是业务分库。将不同业务的数据部署在不同的服务器上。

  


  

  


  

8. 使用NoSQL和搜索引擎 随着网站业务的扩大,对数据存储和检索的要求也越来越高,网站需要采用一些非关系型数据库技术如NoSQL和非数据库查询技术和搜索引擎

  


  

  


  

NoSQL和搜索引擎都是源自互联网的技术手段,对可伸缩的分布式特性具有更好的支持。应用服务器则通过一个统一数据访问模块访问各种数据。减轻应用程序管理诸多数据源的麻烦

  

9. 业务拆分 大型网站为了应对日益繁杂的业务场景,通过使用分而治之的方式将整个网站的业务拆分成不同的产品线,如大型购物交易网站就会将首页、商铺、订单、买家、卖家等拆分成不同的产品线,分归不同的业务部门负责管理。

  

具体到技术上,也会根据产品线划分产品,将一个产品拆分成不同的应用。每个应用独立部署和维护,应用之间可以通过超链接简历关系,也可以通过消息队列进行数据分发,当然最多的还是通过访问同一个数据存储系统来构成一个关联的完整系统。

  


  

  


  

10. 分布式服务 随着业务拆分越来越小,存储系统越来越大,应用系统的整体复杂度呈指数增长,部署越来越困难。由于所有的应用都要和数据库系统连接。在数万台服务器规模的网站中,这些连接的数目是服务器规模的平方。导致存数据库连接资源不足。拒绝服务。

  

既然每一个应用系统都需要执行许多相同的业务操作,可以把相同的业务提取出来。由这些可服用的业务连接数据库。提供公用业务服务。

  


  

  


  

大型网站演化到这里,基本上大多数的技术问题都可以解决,诸如跨数据中心的实时数据同步和具体网站业务相关的问题都可以通过组合改进现有的技术架构来解决。

  

三、大型网站架构演化的价值观1. 大型网站架构技术的核心价值是随网站所需灵活应对 大型网站架构技术的核心价值不是从无到有搭建一个大型的网站,而是能够伴随小型网站业务的逐步发展,慢慢演化成一个大型网站。在这个过程中,不需要放弃什么,不需要推翻什么,技术选型都是非常重要的,所有的大公司例如FaceBook、Google、淘宝无不遵循这样一条发展路线

  

2. 驱动大型网站技术发展的主要力量是网站业务的发展 创新的业务发展模式对网站架构提出了更高的要求,才使得创新的网站架构得以发展成熟。是业务成就了技术,是事业成就了人。而不是相反。

  

四、网站架构设计误区1. 盲目追随大公司的解决方案

  

2. 为了技术而技术

  

3.企图用技术解决所有问题

  


  

另外,我输出了 六本 PDF,已免费提供下载,如下所示

  

  

链接: https://pan.baidu.com/s/1mYAeS9hIhdMFh2rF3FDk0A 密码: p9rs

相关文章