阿里云架构讲解

上传人:飞*** 文档编号:56649399 上传时间:2018-10-14 格式:PPTX 页数:28 大小:364.47KB
返回 下载 相关 举报
阿里云架构讲解_第1页
第1页 / 共28页
阿里云架构讲解_第2页
第2页 / 共28页
阿里云架构讲解_第3页
第3页 / 共28页
阿里云架构讲解_第4页
第4页 / 共28页
阿里云架构讲解_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《阿里云架构讲解》由会员分享,可在线阅读,更多相关《阿里云架构讲解(28页珍藏版)》请在金锄头文库上搜索。

1、网 站 架 构,阿里云,ALIBABA CONFIDENTIAL,1,目录,网络架构基础常见组合,ALIBABA CONFIDENTIAL,一.,制作网站三个重要元素: 网页开发语言, 组件, 数据库,ALIBABA CONFIDENTIAL,一.,网络架构基础常见数据库和存储类型,架构图-架构一,ALIBABA CONFIDENTIAL,应用程序,文件,数据库,二.,1.1 初始架构最简单的架构就是:一个服务器里面同时装: 应用程序,文件,还有数据库这三块使用时调用服务器相应的资源,ALIBABA CONFIDENTIAL,应用程序,文件,数据库,1.2 应用和服务分离随时业务的发展, 会出

2、现读写变慢,存储空间变大等问题,单台服务器无法满足需求,所以进行进一步的架构划分. 常见的处理方法就是: 应用和数据库进行分离 :应用服务器可用我们的 : ECS 数据库服务器可用我们的; RDS 文件服务器可用我们的: OSS,二.,架构图-架构二,CPU二个重要功能控制器:控制数据的先后处理顺序计算器:计算相应内存给的数据,内存.内存获取数据. 内存将需要处理的数据给CPU.同时存储CPU返回的数据,给到硬盘或其他终端,硬盘1.硬盘把数据调给内存2.存储内存返回来的指定数据,数据输入,数据输入,数据输出,回传指令,终端,二.,架构图-架构二,计算机工作简单原理,为了更好的理解,我们可以先了

3、解一下,一台计算机工作的原理:,ALIBABA CONFIDENTIAL,架构图-架构二,二.,注意:CPU只与内存打交道以上只是简单的原理,实际工作会比这个更复杂,为了好让大家理解各个功能,简化了原理从这就不难看出:应用服务器:需要处理大量业务逻辑,因些需要强大的CPU,因些这台服务器的CPU相对来说较大数据库:则是用到了强大的数据检索和缓存数据,故内存就要够好,所以这台服务器内存会较大文件的存储: 硬盘的读写速度越快(IO),越利于数据的调取,这台空间存储空间会较大,当然也可以用我们的OSS做存储一般随着应用的增加:还会出现数据库负载高的情况,为什么会出现这个问题,说白了就是IO的问题.

4、有兴趣的同学,可以学习内部的课程了解:http:/xue.alibaba- CONFIDENTIAL,1.3 应用和服务分离服务和数据分离,并发处理能力和数据存储得到了改善但是用户数越来越多时,一般情况下数据库最容易出现问题,比如:访问太大导致访问延迟之所以同种情况下,数据库容易访问出现压力,主要是数据库的数据在不断的读写,时时有变化一般的想法的可能是:增加数据库台数: 但是会遇到数据库同步的问题:因为数据库不像应用服务器一样,当并发数增加时 增加应用服务器(这样就可以提供相同的服务请求),而数据库因为要不停的读写,当一个数据库进行写操作,如果没有及时更新给另外一个数据库就会出现,(如图一).

5、增大数据库:但是单台数据库再大也是有瓶颈的,并且负载越大,也越容易导致数据异常(如图二),服务器,数据库3,服务器2,数据库,服务器,服务器2,扩容后 大数据库,服务器,服务器3,数据库2,图一: 增加数据库,要解决同步问题,图二:增大数据库,要考虑一台会有极限,并且高负载,二.,架构图-架构三,数据同步,ALIBABA CONFIDENTIAL,但是现实当中,我们常使用的做法不是这样,处理情况如下:大部分情况下,数据的访问分布并不是平均的,即:的请求可能集中访问的数据,所以就考虑是否可以把这的数据 专门放在特定的地方,如果需要这些数据时,就不要从数据库读,直接就从这些特定的地方调取,这个就是

6、 我们常说的缓存的概念缓存建设之后,数据只要在缓存内有,就不需要从内存里面提取,这样大大加快了速度,缓存内是几毫秒级,内存是几十毫秒级的.缓存是在应用程序和数据库中间的一层,如下:先发请求到缓存,有则直接返回数据无数据,返回应用服务器发送请求给数据库然后由数据返回请求,二.,架构图-架构三,应用服务器,缓存服务器,数据库服务器,CPU 二个重要功能控制器:控制数据的先后处理顺序计算器:计算相应内存给的数据CPU现在一般都装有缓存芯片: L1,L2高速缓存,直接从缓存调数据,处理好数据,直接由缓存给到终端,就不通过内存了,内存.内存获取数据. 内存将需要处理的数据给CPU.同时存储CPU返回的数

7、据,给到硬盘或其他终端,硬盘1.硬盘把数据调给内存2.存储内存返回来的指定数据,数据输出,数据输入,数据输出,回传指令,终端,黄 线 即 为 缓 存,二.,架构图-架构三,为了好理解,我们可以看一下一台计算机上的缓存的使用:,ALIBABA CONFIDENTIAL,缓存:网站优化的第一考虑,数据存储在缓存内,频繁使用的数据不需要经过内存,直接从缓存读取,大大加快了CPU的处理速度,目前常用的缓存有二种:memcache和redis .同时我们阿里云对应的产品:OCS注意:1.缓存常见解决的是数据访问很不平均的问题,但是因为缓存比内存的处理速度要快很多,所以即使是平均分布的数据,但是还是有部分

8、数据可以进行缓存所以这个意义上,缓存也是有一定的意义的2.缓存本身是一种功能,并不是指某个硬件,但是现在用的计算机是有实现缓存功能的硬件的:比如:CPU内的L1,L2就是在CPU特地装有的硬件芯片3.阿里云商业化的OCS:之前公测是用SSD(固)做缓存的,商业化后,公司用的是内存来做缓存的4.目前缓存使用常见有二种方法(见下页图)(1).本地缓存:即在应用服务器上,占用一部分内存,来给服务器做缓存,但是这个会占取应用服务器的资源.(2).远程分布式缓存;以使用集群的方式,部署大内存的服务器作为专门的缓存服务器加缓存后,架构如下:,二.,架构图-架构三,ALIBABA CONFIDENTIAL,

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

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

11、构见下页图:,二.,架构图-架构五,ALIBABA CONFIDENTIAL,应用程序,文件,数据库,远程分布式缓存,本地缓存,数据访问模块,数据库, 主/从复制,二.,架构图-架构五,增加访问模块 使用主从复制机 实现读写分离,ALIBABA CONFIDENTIAL,二.,架构图-架构六,在中国,因为网络环境相对复杂,不同地区的用户访问,网速会差别特别大,访问速度越慢,客户就越没有耐心来访问,这样将大大增加了流失客户的情况因为就有人就想出了办法:我可以把一些重要的数据放在全国各个地区,客户来访问的时候,如果各个地区临近的节点上有,这样就不需要直接从我这里来拿 了.这样就增加了数据的返回的效

12、率, 这个就叫做CDN,其实本质上也是缓存另外CDN一般是放在负载均衡的前端,也就是说如果结点有,就不需要访问到负载均衡的机器就直接返回数据了此时的架构图如下:,ALIBABA CONFIDENTIAL,应用程序,文件,数据库,远程分布式缓存,本地缓存,数据访问模块,数据库, 主/从复制,二.,架构图-架构六,ALIBABA CONFIDENTIAL,架构图-架构七,二.,当业务足够大时,一台或二台服务器即使再大,也无法满足业务的需求,这个时候一般的选择都会选择分布式系统,一般公司做到这个程序基本上规模就相当大了这个时候就会有分布式应用服务器,分布式数据库, 分布式存储等等,而在应用程序中,会

13、增加一个统一数据访问模块,并且所有的分布式的信息,都将通过这个模块来进行.此时的架构图如下:,ALIBABA CONFIDENTIAL,应用程序,文件,数据库,远程分布式缓存,本地缓存,统一数据访问模块,二.,架构图-架构七,此时用统一 数据访问模块 使各个功能服务器均实现分布式系统,ALIBABA CONFIDENTIAL,架构图-架构八,二.,随着业务的复杂性,有些数据之间的关系也变得越来越复杂,或者数据之间并没有什么必然的关系,通过关系型数据库(rds),就很难解决相应的问题,于是就有人设计了非关系型数据库(NOSQL),或者直接将搜索引擎的的技术,这样就能加快数据的检索的速度和效率.

14、基本上到这个情况下,客户的规模和实力在行业里面就非常有名了.详细情况如下:,ALIBABA CONFIDENTIAL,应用程序,文件,数据库,远程分布式缓存,本地缓存,统一数据访问模块,二.,架构图-架构八,使用搜索引擎和 NOSQL来解决数据库 检索,存储问题,ALIBABA CONFIDENTIAL,架构图-架构九,二.,再往下,就要进行业务的拆分等更复杂的架构,常见的情况很少,对技术工程师有更高的要求,有兴趣也可以看:大型网站技术架构这本书,里面会有详细的介绍.,ALIBABA CONFIDENTIAL,优 化 前 架 构,三.,客户案例北京玩蟹,ALIBABA CONFIDENTIAL,优 化 后 架 构,三.,客户案例北京玩蟹,ALIBABA CONFIDENTIAL,更多客户案例及架构展示,四.,http:/ 游戏,移动,金融,电商,音视频等各种案例。有兴趣也可以点击相应logo图标,了解他们与阿里云的历程故事,了解他们都使用了阿里云的那些产品,以及部分架构示意图。,Thanks !,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号