大型网站技术架构(三)--架构核心要素

所谓架构,一种通俗的说法就是“最高层次的规划,难以改变的决定”,这些规划和决定奠定了事物未来发展的方向和最终的蓝图。

而软件架构即“有关软件整体结构与组件的抽象描述,用于指导大型软件系统各方面的设计”。一般来说软件架构需要关注性能、可用性、伸缩性、扩展性和安全性这5个架构要素。

1、性能

性能是网站架构设计的一个重要方面,任何软件架构设计方案都必须考虑可能带来的性能问题。也正因为性能问题几乎无处不在,所以优化网站性能的手段也非常多:

浏览器端:可以通过浏览器缓存、页面压缩传输、合理布局页面、减少Cookie传输等手段,甚至可以使用CDN加速功能。

应用服务器端:可以使用服务器本地缓存和分布式缓存,也可以通过异步操作方式来加快响应,在高并发请求的情况下,可以将多台应用服务器组成一个集群共同对外服务,提高整体处理能力,改善性能。

数据库服务器端:可用使用索引、缓存、SQL性能优化等手段,还可以使用NoSQL数据库来优化数据模型、存储结构等。

衡量网站性能有一系列指标,重要的有响应时间、TPS、系统性能计数器等,通过这些指标以确定系统设计是否达到目标。

2、可用性

可用性即能够不间断提供服务的时间。几乎所有网站都承诺7×24小时可用,但事实上任何网站都不可能达到完全的7×24,总会有一些故障时间,扣除这些故障时间,就是网站的可用时间。一些大型网站可以做到4个9以上的可用性,也就是99.99%。

网站高可用的主要手段就是冗余,应用部署在多台服务器上同时提供服务,数据存储在多台服务器上相互备份,任何一台服务器都不会影响应用的整体可以,通常的实现手段即把多台服务器通过负载均衡设备组成一个集群。

衡量一个系统架构设计是否满足高可用的目标,就是假设系统中任何一台或者多台服务器宕机时,以及出现各种不可预期的问题时,系统整体是否依然可用。

3、伸缩性

大型网站需要面对大量用户的高并发访问和存储海量数据,网站通过集群的方式将多台服务器组成一个整体共同提供服务。所谓伸缩性是指通过不断向集群中加入服务器的手段来缓解不断整体上市用户并发访问压力和不断增长的数据存储需求。

衡量架构伸缩性的主要标准就是是否可用多台服务器构建集群,是否容易向集群中添加新的服务器。加入新的服务器后是否可以提供和原来的服务器无差别的服务。集群中可容纳的总服务器数量是否有限制。

4、扩展性

不同于其他架构要素主要关注非功能性需求,网站的扩展性架构直接关注网站的功能需求。网站快速发展,功能不断扩展,如何设计网站的架构使其能够快速响应需求变化,是网站可扩展架构的主要目标。

衡量网站架构扩展性好坏的主要标准就是在网站增加新的业务产品时,是否可以实现对现有产品透明无影响,不同产品之间是否很少耦合等。

网站可扩展架构的主要手段是事件驱动架构和分布式服务。

事件驱动通常利用消息队列实现,通过这种方式将消息生产和处理逻辑分隔开。

服务器服务则是将业务和可复用服务分离开来,通过分布式服务框架调用。新增加产品可用通过调用可复用的服务来实现自身的业务逻辑,而对现有产品没有任何影响。

5、安全性

互联网是开发的,任何人在任何地方都可以访问网站。网站的安全架构就是保护网站不受恶意访问和攻击,保护网站的重要数据不被窃取。

衡量网站安全架构的标准就是针对现存和潜在的各种攻击和窃密手段,是否有可靠的应对策略。

原文链接:http://blog.csdn.net/chaofanwei/article/details/27046795

时间: 2024-12-23 13:55:37

大型网站技术架构(三)--架构核心要素的相关文章

浅析做好网站数据的三点核心要素

在一个网站拥有了良好的更新内容方法.搭建外链体系方法之后,从现在开始就要求站长对网站的数据进行收集.分析与保护.数据收集包括了网站用户访问收集.搜索引擎蜘蛛抓取情况收集等等方面,数据分析就要求站长在收集数据的基础之上对数据进行整合,完成对数据的综合分析,数据保护要求站长在将获得的用户信息.网站数据等等采取必要的措施保证数据的隐秘. 数据对于站点来说就好比一个人的思维,做好数据的收集.分析与保护可以说就算是为站点完成了循环工作,作为一名站长需要在这个循环的工作之中牢牢提高自身执行力.提高运营技巧,

大型网站技术架构——核心原理与案例分析(一)

一.大型网站架构模式: 1.分层 - 横向 如应用层.服务层.数据层 2.分割-纵向 将业务化分为不同粒度的细小的功能和服务 如订单业务.购物车业务.短信业务.邮件业务等 3.分布式-将不现的服务.不同的模块部署在不同的服务器,通过远程调用协同工作,分布式静态资源.分布式数据和存储.分布式计算.注意,会对性能有影响(网络请求开销),分布式事物.数据一致性. 4.集群-用更多服务器提供相同的服务,可以提供很好的并发性,不足以支持访问量时,只需要要向集群中加入新的机器即可.当一台机子不可用时,可通过

大型网站技术架构:核心原理与案例分析

链接 性能优化 Web前端性能优化 应用服务器性能优化 软件质量保证 代码控制 自动化发布 灰度发布 网站运行监控 伸缩性设计 按功能物理分离 负载均衡 分布式缓存 可扩展设计 利用分布式消息队列降低系统耦合性 利用分布式服务打造可服用的业务平台 1 链接 个人博客: alex-my.xyz CSDN: blog.csdn.net/alex_my 本书作者: 李智慧 2 性能优化 1 Web前端性能优化 浏览器优化访问 减少http请求.主要是合并css,合并js,合并图片.将浏览器一次访问所需

一、大型网站技术架构演化

大型网站系统的特点 1.高并发,大流量 2.高可用:7*24小时不间断服务,不宕机 3.海量数据储存及管理 4.网络复杂 5.安全性 6.易扩展,可伸缩:需求快速变更,发布频繁 7.渐进式发展:脸谱网是宿舍,谷歌是斯坦福大学实验室,淘宝是马云家 一句话,高可用,高性能,易扩展,可伸缩且安全的网站. 大型网站架构演化发展历程 1.初始阶段     单机服务器:应用程序+数据库+文件都在一台服务器上. 2.应用服务和数据服务分离     应用服务器,文件服务器和数据库服务器. 中间通过通信的是:HT

大型网站技术架构(1)

网站都是从小网站一步一步发展为大型网站的,而这之中的挑战主要来自于庞大的用户.安全环境恶劣.高并发的访问和海量的数据,任何简单的业务处理,一旦需要处理数以 P 计的数据和面对数以亿计的用户时,问题就会变的很棘手 下面我们就来说说这个演变过程: 初始阶段 大型网站都是由小型网站演变而来的,网站架构也一样 小型网站最开始没有太多人访问,只需要一台服务器就绰绰有余,就像这样: 应用程序.数据库.文件等所有资源都在一台服务器上,通常使用 Linux PHP MySQL Apache 就可以完成整个项目部

大型网站技术架构(四)--网站的高性能架构

网站性能是客观的指标,可以具体体现到响应时间.吞吐量.并发数.性能计数器等技术指标. 1.性能测试指标1.1 响应时间 指应用执行一个操作需要的时间,指从发出请求到最后收到响应数据所需要的时间.如下列出了系统常用的操作响应时间表. 操作 响应时间 打开一个网站 几秒 数据库查询一条记录(有索引) 十几毫秒 机械磁盘一次寻址定位 4毫秒 从机械磁盘顺序读取1M数据 2毫秒 从SSD磁盘顺序读取1M数据 0.3毫秒 从远程分布式换成Redis读取一个数据 0.5毫秒 从内存读取1M数据 十几微妙 J

浅谈大型网站动态应用系统架构

中介交易 SEO诊断 淘宝客 云主机 技术大厅 动态应用,是相对于网站静态内容而言,是指以c/c++.php.Java.perl..net等服务器端语言开发的网络应用软件,比如论坛.网络相册.交友.BLOG等常见应用.动态应用系统通常与数据库系统.缓存系统.分布式存储系统等密不可分. 大型动态应用系统平台主要是针对于大流量.高并发网站建立的底层系统架构.大型网站的运行需要一个可靠.安全.可扩展.易维护的应用系统平台做为支撑,以保证网站应用的平稳运行. 大型动态应用系统又可分为几个子系统: 1)W

浅谈大型网站动态应用系统架构,互联网营销

动态应用,是相对于网站静态内容而言,是指以c/c++.php.Java.perl..net等服务器端语言开发的网络应用软件,比如论坛.网络相册.交友.BLOG等常见应用.动态应用系统通常与数据库系统.缓存系统.分布式存储系统等密不可分. 大型动态应用系统平台主要是针对于大流量.高并发网站建立的底层系统架构.大型网站的运行需要一个可靠.安全.可扩展.易维护的应用系统平台做为支撑,以保证网站应用的平稳运行. 大型动态应用系统又可分为几个子系统: 1)Web前端系统 2)负载均衡系统 3)数据库集群系

大型网站效果导向的SEO核心思路与做法

效果导向 在不同环境下,SEO的最终目标可能不同.多数情况下,流量被用作量化SEO效果的核心指标.但有时也未必,诸如交易额的指标,也可能在一些公司被作为SEO的核心指标. 但无论什么情况下,流量的获取总是SEO的核心部分.然而,如何有效的提升流量? 最最核心的一点是:先确定想要什么样的流量,然后再考虑为了获取这些流量,需要新增或者优化什么页面. 是否是这样的思路,是决定SEO水平好坏的最关键部分. 大多SEO懂得许许多多的SEO方法,然后到优化网站的时候,就一个个页面看过去,看哪些页面上缺少些所