NoSQL特大型网站架构演变

一、大型网站系统特性

  (1)高并发、大流量:PV量巨大

  (2)高可用:7*24时辰不间断服务

  (3)海量数据:文件数量分秒钟xxTB

  (4)用户分布广泛,互连网状态复杂:互连网运营商

  (5)安全环境恶劣:黑客的抨击

  (6)须求急忙转移,发表频仍:火速适应市场,知足用户须求

  (7)渐进式发展:渐渐地运营出大型网站

二、大型网站架构演化进程

  (1)发轫阶段网站架构:一台Server就刚需—应用程序、数据库、文件等富有资源都汇聚在一台Server上,典型案例:基于LAMP架构的PHP网站

NoSQL 1

  (2)应用和数据服务分离:三台Server平天下—业务发展,单台不
再适应工作的上进,将运用和数码分离后成三台Sever(应用服务器、文件服务器与数据库服务器)。分离后三台Server对硬件资源的需求各差距:应
用服务器要求更快更强劲的CPU,而数据库服务器必要更快的硬盘和更大的内存,文件服务器则必要更大的硬盘;

NoSQL 2

  (3)使用缓存改革网站质量:3+X的Server模式减掉数据库访问压力,进步网站的数据访问速度。缓存又可以分为:本地缓存和长途缓存(可以是分布式的),本地缓存访问速度快,但数据量有限;远程分布式缓存可以集群,因而容量不受限制;

NoSQL 3

  (4)使用应用服务器集群革新网站出现处理能力:集群—解决高并发、海量数据难题的常用手法,完毕系统的可伸缩性。通过负载均衡调度器,可将用户访问分发到集群中的某台Server上,应用服务器的载重压力不再成为一体网站的瓶颈

  NoSQL 4

  (5)数据库读写分离:使用缓存后多方都得以不通过DB就能不负众望,但仍有一对(缓存访问不命中、缓存过期)和整个的写操作必要拜访DB,
在网站的用户高达一定范围后,DB因为负载压力过高成为网站的瓶颈。一大半主流DB都提供基本热备功效,利用这一效应就可以配备两台DB主从涉嫌,一台数
据更新同步到另一台Server上。网站使用DB的这一功能,完结DB读写分离,从而改革DB负载压力

NoSQL 5

  (6)使用反向代理和CDN加速网站响应:CDN和反向代理的基本原理都是缓存,差异在于CDN安顿在网络提供商的机房,而反向代理则布置在网站的主导机房。使用CDN和反向代理的目标都是疾速再次回到数据给用户,一方面加速用户访问速度,另一方面也减轻后端服务器的负载压力。

NoSQL 6

  (7)使用分布式文件系统和分布式数据库系统:随着网站工作的迈入,两台DB服务器照旧不可能满意要求,文件系统也一样。

NoSQL 7

  (8)使用NoSQL和寻找引擎:NoSQL和摸索引擎都是源自网络的技术手段,对可伸缩的分布式特性具有更好的支撑。应用服务器则通过一个联结数据访问模块访问各个数据,减轻应用程序管理诸多数据源的劳动。

NoSQL 8

  (9)业务拆分:通过分而治之的伎俩将所有网站业务分成分裂的产品线,如Taobao将首页、商铺、订单、卖家、买家等拆分成不相同的成品线,分归分裂的政工团队担当。种种应用之间可以由此确立一个超链接建立关联,也得以通过音讯队列举办数据分发。

NoSQL 9

  (10)分布式服务:既然每一个施用系统都急需执行许多相通的作业操作,比如用户管理、商品管理等,那么可以将那么些共用的事务提取出来,独立布署。

NoSQL 10

三、大型网站架构演变价值观

  (1)主旨价值:随网站所需灵活应对

  大型网站不是从无到有一步就搭建好一个特大型网站,而是可以伴随小型网站工作的渐进发展,逐渐地衍生和变化成一个巨型网站。

  (2)驱动能力:网站的事体发展—业务形成了技术,事业成功了人,而不是倒转

四、大型网站架构设计的误区

  (1)一味追随大商厦的缓解方案

  (2)为了技术而技术->常见难点

  (3)企图用技术解决所有标题:技术是用来化解业务难题的,而事情的难点,也足以通过业务的手法去化解

本章思维导图

NoSQL 11

网站地图xml地图