- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大型网站技术架构---架构核心要素
所谓架构,⼀种通俗的说法就是“最⾼层次的规划,难以改变的
决定”,这些规划和决定奠定了事物未来发展的⽅向和最终的蓝
图。
⽽软件架构即“有关软件整体结构与组件的抽象描述,⽤于
指导⼤型软件系统各⽅⾯的设计”。⼀般来说软件架构需要关注
性能、可⽤性、伸缩性、扩展性和安全性这5个架构要素。
1 、性能
性能是⽹站架构设计的⼀个重要⽅⾯,任何软件架构设计⽅
案都必须考虑可能带来的性能问题。也正因为性能问题⼏乎⽆
处不在,所以优化⽹站性能的⼿段也⾮常多:
浏览器端:可以通过浏览器缓存、⻚⾯压缩传输、合理布局
⻚⾯、减少Cookie传输等⼿段,甚⾄可以使⽤CDN加速功能。
应⽤服务器端:可以使⽤服务器本地缓存和分布式缓存,也
可以通过异步操作⽅式来加快响应,在⾼并发请求的情况下,
可以将多台应⽤服务器组成⼀个集群共同对外服务,提⾼整体
处理能⼒,改善性能。
数据库服务器端:可⽤使⽤索引、缓存、SQL性能优化等⼿
段,还可以使⽤NoSQL数据库来优化数据模型、存储结构等。
衡量⽹站性能有⼀系列指标,重要的有响应时间、TPS、系
统性能计数器等,通过这些指标以确定系统设计是否达到⽬
标。
2 、可⽤性
可⽤性即能够不间断提供服务的时间。⼏乎所有⽹站都承诺
7×24⼩时可⽤,但事实上任何⽹站都不可能达到完全的7×24,
总会有⼀些故障时间,扣除这些故障时间,就是⽹站的可⽤时
间。⼀些⼤型⽹站可以做到4个9以上的可⽤性,也就是
99.99%。
⽹站⾼可⽤的主要⼿段就是冗余,应⽤部署在多台服务器上
同时提供服务,数据存储在多台服务器上相互备份,任何⼀台
服务器都不会影响应⽤的整体可以,通常的实现⼿段即把多台
服务器通过负载均衡设备组成⼀个集群。
衡量⼀个系统架构设计是否满⾜⾼可⽤的⽬标,就是假设系
统中任何⼀台或者多台服务器宕机时,以及出现各种不可预期
的问题时,系统整体是否依然可⽤。
3 、伸缩性
⼤型⽹站需要⾯对⼤量⽤户的⾼并发访问和存储海量数据,
⽹站通过集群的⽅式将多台服务器组成⼀个整体共同提供服
务。所谓伸缩性是指通过不断向集群中加⼊服务器的⼿段来缓
解不断整体上市⽤户并发访问压⼒和不断增⻓的数据存储需
求。
衡量架构伸缩性的主要标准就是是否可⽤多台服务器构建集
群,是否容易向集群中添加新的服务器。加⼊新的服务器后是
否可以提供和原来的服务器⽆差别的服务。集群中可容纳的总
服务器数量是否有限制。
4 、扩展性
不同于其他架构要素主要关注⾮功能性需求,⽹站的扩展
性架构直接关注⽹站的功能需求。⽹站快速发展,功能不断扩
展,如何设计⽹站的架构使其能够快速响应需求变化,是⽹站
可扩展架构的主要⽬标。
衡量⽹站架构扩展性好坏的主要标准就是在⽹站增加新的
业务产品时,是否可以实现对现有产品透明⽆影响,不同产品
之间是否很少耦合等。
⽹站可扩展架构的主要⼿段是事件驱动架构和分布式服
务。
事件驱动通常利⽤消息队列实现,通过这种⽅式将消息⽣
产和处理逻辑分隔开。
服务器服务则是将业务和可复⽤服务分离开来,通过分布
式服务框架调⽤。新增加产品可⽤通过调⽤可复⽤的服务来实
现⾃身的业务逻辑,⽽对现有产品没有任何影响。
5、安全性
互联⽹是开发的,任何⼈在任何地⽅都可以访问⽹站。⽹站
的安全架构就是保护⽹站不受恶意访问和攻击,保护⽹站的重
要数据不被窃取。
衡量⽹站安全架构的标准就是针对现存和潜在的各种攻击和
窃密⼿段,是否有可靠的应对策略。
文档评论(0)