常见web架构设计_第1页
常见web架构设计_第2页
常见web架构设计_第3页
常见web架构设计_第4页
全文预览已结束

下载本文档

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

文档简介

1、先来说说模式:每一个模式描述了一个在们周围不断重复发生的问题及该问题解决方案的核心。这样,你就能一次又一次地用该方案而不必重复工作。先来说说常见的架构模式。这里没有涉及具体实现过程,只简单介绍其思想和原理,方便日后有用到再深入了解。分层分层应用系统中最常见的一种架构模式,将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统。分层功能应用层负责具体和视图展示,如首页以及搜索输入和结果展示层为应用层支持,如用户管理,购物车数据层数据存储访问,如数据库、缓存、文件、搜索引擎等分层架构还可以细分下去,比如说应用层可以细分为视图层和逻辑

2、层。层可以细分为数据接口层和逻辑处理层。分层结构对支持高并发向分布式发展至关重要,所以在规模很小的时候就应该采用分层的架构,这样将来时才能有更好地应对。所以说们在设计一个新的架构时,就需要考虑到分层。不能等到日后了,再重构就耗时耗力了。分割上面的分层将软件在横向方面进行切分,而分割在纵向方面对软件进行切分。将不同的功能和分割来,包装成高内聚低耦合的模块单元。比如在应用层,将购物、论坛、搜索、广告分割成不同的应用,由独立的团队负责,部署在不同的器上;在同一个应用内部,如果规模庞负责,会继续进行分割,比如说购物,可以分割为机票酒店、3C、小商品等更细小的粒度。分布式对于型,分层和分割的主要目的为了

3、切分后的模块便于分布式部署。利用分布式解决高并发的问题的同时,会带来其他问题:分布式意味着调用必须通过网络,这可能对性能造成比较严重的影响;o 器越多,器宕机的概率就越;o 数据的一致性问题,分布式事务难以保证;o 发管理维护困难。所以说要量力而行,不要为了分布式而分布式。常用的分布式方案有以下几种:o 分布式应用和:将分层和分割后的应用和模块分布式部署,使不同应用复用共同的,便于功能扩展。o分布式静态资源:的静态资源如js、css、图片等独立分布式部署,并采用独立 的域名。减轻应用器的负载压力,并通过独立域名加快浏览器并发加载速度。o 分布式数据和存储:数据量过,一台机器无法存储。o 分布式

4、计算:后台需要处理,包括搜索引擎的索引构建、数据仓库的数据分析统计。通过 Hadoop 及 MapReduce 分布式计算框架进行批处理计算集群使用分布式已经将切分后的模块独立部署,但对于用户访问集中的模块,还需要将独立部署的器集群化,多台器部署相同应用构成一个集群,通过负载均衡设备共同对外。即使访问量很小的分布式应用和,也会部署两台器构成一个小的集群,目的就提高系统的可用性。缓存缓存改善软件性能的手段。有以下几种:oCDN:内容分发网络,部署在距离终端用户最近的网络商,在这里缓存的一些静态资源,就可以以最快的速度返回给用户。o 反向代理:反向代理属于前端架构的一部分,部署在的前端,当用户请求

5、到达的数据中心时,访问反向代理器,这里缓存的静态资源。o 本地缓存:在应用器本地缓存着热数据,应用程序可以在本机内存中直接访问数据,而无需访问数据库。o 分布式缓存:数据量很时,除了本地缓存,还需要分布式缓存,将数据缓存在一个专门的分布式缓存集群中,应用程序通过网络通问缓存数据缓存有两个前提条件,一数据访问热不均衡,某些数据会被更频繁的访问,这些数据应该放在缓存中;二数据在某个数据段内有效,不会很快过期,否则缓存的数据就会因为已经失效而产生脏读,影响结果的正确性。异步系统解除耦合的重要手段异步,之间的消息传递不同步调用,而将一个操作分成多个阶段,每个阶段之间通过共享数据的异步执行进行协作。在单一器内部可以通过多线程共享内存队列的实现异步,处在操作前面的线程将输出写入到队列,后面的线程从队列中读取数据进行处理;在分布式系统中,多个器集群通过分布式消息队列实现异步,分布式消息队列可以看作内存队列的分布式部署。冗余要保证在器宕机的情况下依然可以继续,不丢失数据,就需要一定程度的器冗余运行,数据冗余备份。数据库除了定期备份,存档保存,实现冷备份外,还需要进行主

温馨提示

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

评论

0/150

提交评论