阿里云架构讲解_第1页
阿里云架构讲解_第2页
阿里云架构讲解_第3页
阿里云架构讲解_第4页
阿里云架构讲解_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网站架构阿里云1..1网络架构基础常见组合常见数据库和存储类型2架构图八种常见架构目录3客户案例北京玩蟹----大掌门网络架构根底—常见组合

一.微软类型语言:.net或aspIISDB:access(早期,目前很少用)sqlserver(现在主流)开源类型语言:phpApache或nginx(二个可根据业务组合)

DB:mysql(现在主流)企业类型语言:javaApache还有nginx+tomcat(必用)(三个可根据业务组合)

DB:sqlserver(现在主流)制作网站三个重要元素:网页开发语言,组件,数据库

一.网络架构根底—常见数据库和存储类型存储NASMOGILEFSRAID架构图-架构一应用程序文件数据库二.1.1初始架构最简单的架构就是:一个效劳器里面同时装:应用程序,文件,还有数据库这三块使用时调用效劳器相应的资源应用程序文件数据库应用服务器文件服务器数据库服务器1.2应用和效劳别离随时业务的开展,会出现读写变慢,存储空间变大等问题,单台效劳器无法满足需求,所以进行进一步的架构划分.常见的处理方法就是:应用和数据库进行别离:应用效劳器可用我们的:ECS数据库效劳器可用我们的;RDS文件效劳器可用我们的:OSS二.架构图-架构二CPU二个重要功能控制器:控制数据的先后处理顺序计算器:计算相应内存给的数据内存1.内存获取数据2.内存将需要处理的数据给CPU3.同时存储CPU返回的数据,给到硬盘或其他终端硬盘1.硬盘把数据调给内存2.存储内存返回来的指定数据数据输入数据输入数据输出回传指令终端二.架构图-架构二

计算机工作简单原理为了更好的理解,我们可以先了解一下,一台计算机工作的原理:架构图-架构二二.注意:CPU只与内存打交道以上只是简单的原理,实际工作会比这个更复杂,为了好让大家理解各个功能,简化了原理.从这就不难看出:应用效劳器:需要处理大量业务逻辑,因些需要强大的CPU,因些这台效劳器的CPU相对来说较大数据库:那么是用到了强大的数据检索和缓存数据,故内存就要够好,所以这台效劳器内存会较大文件的存储:硬盘的读写速度越快(IO),越利于数据的调取,这台空间存储空间会较大,当然也可以用我们的OSS做存储一般随着应用的增加:还会出现数据库负载高的情况,为什么会出现这个问题,说白了就是IO的问题.有兴趣的同学,可以学习内部的课程了解:://xue.alibaba-inc/trs/mediaDetail.htm?mediaUid=c2f2c695-83ca-4d91-af82-0b82c57ba4aa&chapterUid=05000219-5992-47f7-b8b5-23867af8d146#video1.3应用和效劳别离效劳和数据别离,并发处理能力和数据存储得到了改善.但是用户数越来越多时,一般情况下数据库最容易出现问题,比方:访问太大导致访问延迟.之所以同种情况下,数据库容易访问出现压力,主要是数据库的数据在不断的读写,时时有变化.一般的想法的可能是:1增加数据库台数:但是会遇到数据库同步的问题:因为数据库不像应用效劳器一样,当并发数增加时.增加应用效劳器(这样就可以提供相同的效劳请求),而数据库因为要不停的读写,当一个数据库进行写操作,如果没有及时更新给另外一个数据库就会出现,(如图一)2.增大数据库:但是单台数据库再大也是有瓶颈的,并且负载越大,也越容易导致数据异常(如图二)效劳器1数据库3效劳器2数据库1效劳器1效劳器2扩容后大数据库效劳器3效劳器3数据库2图一:增加数据库,要解决同步问题图二:增大数据库,要考虑一台会有极限,并且高负载二.架构图-架构三数据同步但是现实当中,我们常使用的做法不是这样,处理情况如下:大局部情况下,数据的访问分布并不是平均的,即:80%的请求可能集中访问20%的数据,所以就考虑是否可以把这20%的数据专门放在特定的地方,如果需要这些数据时,就不要从数据库读,直接就从这些特定的地方调取,这个就是我们常说的缓存的概念缓存建设之后,数据只要在缓存内有,就不需要从内存里面提取,这样大大加快了速度,缓存内是几毫秒级,内存是几十毫秒级的.缓存是在应用程序和数据库中间的一层,如下:先发请求到缓存,有那么直接返回数据无数据,返回

应用效劳器发送请求给数据库然后由数据返回请求二.架构图-架构三应用效劳器缓存效劳器数据库效劳器CPU二个重要功能控制器:控制数据的先后处理顺序计算器:计算相应内存给的数据CPU现在一般都装有缓存芯片:L1,L2高速缓存,直接从缓存调数据,处理好数据,直接由缓存给到终端,就不通过内存了内存1.内存获取数据2.内存将需要处理的数据给CPU3.同时存储CPU返回的数据,给到硬盘或其他终端硬盘1.硬盘把数据调给内存2.存储内存返回来的指定数据数据输出数据输入数据输出回传指令终端黄线即为缓存二.架构图-架构三为了好理解,我们可以看一下一台计算机上的缓存的使用:缓存:网站优化的第一考虑,数据存储在缓存内,频繁使用的数据不需要经过内存,直接从缓存读取,大大加快了CPU的处理速度,目前常用的缓存有二种:memcache和redis.同时我们阿里云对应的产品:OCS注意:1.缓存常见解决的是数据访问很不平均的问题,但是因为缓存比内存的处理速度要快很多,所以即使是平均分布的数据,但是还是有局部数据可以进行缓存.所以这个意义上,缓存也是有一定的意义的2.缓存本身是一种功能,并不是指某个硬件,但是现在用的计算机是有实现缓存功能的硬件的:比方:CPU内的L1,L2就是在CPU特地装有的硬件芯片3.阿里云商业化的OCS:之前公测是用SSD(固)做缓存的,商业化后,公司用的是内存来做缓存的4.目前缓存使用常见有二种方法(见下页图)

(1).本地缓存:即在应用效劳器上,占用一局部内存,来给效劳器做缓存,但是这个会占取应用效劳器的资源.(2).远程分布式缓存;以使用集群的方式,部署大内存的效劳器作为专门的缓存效劳器.加缓存后,架构如下:二.架构图-架构三应用程序文件数据库数据库服务器分布式缓存服务器:n文件服务器远程分布式缓存

本地缓存应用服务器分布式缓存服务器:1二.架构图-架构三

本地缓存和分布式缓存的使用1.4使用负载均衡当使用缓存后,数据访问的压力有很大的缓解决.但是一台效劳器如果高并发时还会遇到瓶颈,这时常见的处理方法有二种:1.增大效劳器配置:随着访问量的上升,一台效劳器是有瓶颈的,并且高负载也容易影响机器的性能2.增加效劳器:通过多台效劳器,使用负载均衡处理高并发,应用效劳分发给相应的后端的效劳器,从而减轻应用效劳器的压力此时使用负载均衡的架构如以下图(见下页)二.架构图-架构四应用程序文件数据库数据库服务器分布式缓存服务器:n文件服务器远程分布式缓存

本地缓存应用服务器n应用服务器1

SLB(负载均衡)分布式缓存服务器:1二.架构图-架构四应用效劳器增加多台,进行负载均衡1.5数据库读写别离当应用效劳器使用负载均衡高度使用时,性能有了大幅的提升,之前使用缓存,使绝大多数读操作访问都可以不通过数据库完成,但是还会有一局部读操作(缓存访问不命中,缓存过期)和全部的写操作需要访问数据库,在网站的用户到达一定规模后,而数据只通过缓存,还是会出现压力和负载过高的情况常见处理方式是:将数据的读和写进行别离:此时需要在应用程序里面增加一个数据访问模块,将读写别离时,但是这个时候还要考虑一个重要问题就是:数据同步的问题数据同步问题:目前主要用主从复制机来实现这个功能,另外还需要在应用效劳器加一个数据的访问模块来进行统一调度使用详细架构见下页图:二.架构图-架构五应用程序文件数据库数据库服务器(主)分布式缓存服务器:n文件服务器远程分布式缓存

本地缓存应用服务器n

SLB(负载均衡)应用服务器1数据访问

模块数据库数据库服务器(从).主/从复制分布式缓存服务器:1二.架构图-架构五增加访问模块使用主从复制机实现读写别离二.架构图-架构六在中国,因为网络环境相对复杂,不同地区的用户访问,网速会差异特别大,访问速度越慢,客户就越没有耐心来访问,这样将大大增加了流失客户的情况因为就有人就想出了方法:我可以把一些重要的数据放在全国各个地区,客户来访问的时候,如果各个地区临近的节点上有,这样就不需要直接从我这里来拿了.这样就增加了数据的返回的效率,这个就叫做CDN,其实本质上也是缓存另外CDN一般是放在负载均衡的前端,也就是说如果结点有,就不需要访问到负载均衡的机器就直接返回数据了此时的架构图如下:应用程序文件数据库数据库服务器(主)分布式缓存服务器:n文件服务器远程分布式缓存

本地缓存应用服务器n

SLB(负载均衡)应用服务器1数据访问

模块数据库数据库服务器(从).主/从复制CDN服务器反向代理服务器二.架构图-架构六分布式缓存服务器:1架构图-架构七二.

当业务足够大时,一台或二台效劳器即使再大,也无法满足业务的需求,这个时候一般的选择都会选择分布式系统,一般公司做到这个程序根本上规模就相当大了这个时候就会有分布式应用效劳器,分布式数据库,分布式存储等等,而在应用程序中,会增加一个统一数据访问模块,并且所有的分布式的信息,都将通过这个模块来进行.此时的架构图如下:应用程序文件数据库分布式数据库服务器n分布式缓存服务器:n分布式文件服务器n远程分布式缓存

本地缓存应用服务器n

SLB(负载均衡)应用服务器1统一数据访问模块CDN服务器反向代理服务器分布式数据库服务器1分布式文件服务器1分布式缓存服务器:1二.架构图-架构七此时用统一数据访问模块使各个功能效劳器均实现分布式系统架构图-架构八二.

随着业务的复杂性,有些数据之间的关系也变得越来越复杂,或者数据之间并没有什么必然的关系,通过关系型数据库〔rds〕,就很难解决相应的问题,于是就有人设计了非关系型数据库(NOSQL),或者直接将搜索引擎的的技术,这样就能加快数据的检索的速度和效率.

根本上到这个情况下,客户的规模和实力在行业里面就非常有名了.详细情况如下:应用程序文件数据库分布式数据库服务器n分布式缓存服务器:n分布式文件服务器n远程分布式缓存

本地缓存应用服务器n

SLB(负载均衡)应用服务器1统一数据访问模块CDN服务器反向代理服务器分布式数据库服务器1分布式文件服务器1分布式缓存服务器:1搜索引擎服务器NOSQL服务器二.架构图-架构八使用搜索引擎和NOSQL来解决数据库检索,存储问题架构图-架构九二.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论