当前位置:首页 > 短网址资讯 > 正文内容

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

www.ft12.com9年前 (2017-08-05)短网址资讯1982

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

      

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


版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。



扫描二维码推送至手机访问。

版权声明:本文由短链接发布,如需转载请注明出处。

本文链接:https://www.ft12.com/article_380.html

分享给朋友:

相关文章

记一次go程序优化实践,获得了3倍性能的提升以及学会了on-cpu/off-cpu火焰图的使用

记一次go程序优化实践,获得了3倍性能的提升以及学会了on-cpu/off-cpu火焰图的使用

先把结论列在前面:1.Golang的性能可以做到非常好,但是一些native包的性能很可能会拖后腿,比如regexp和encoding/json。如果在性能要求较高的场合使用,要根据实际情况做相应优化。2.on-cpu/off-cpu火焰图...

共享充电宝悄然兴起,电池革命何时才能到来?

共享经济风靡资本市场,从共享单车以后,共享篮球、共享雨伞、共享充电宝等各种花式同享项目如星星之火,呈燎原之势,而万达公子王思聪与聚美优品总裁陈欧一场对于“翔”的口水战,却让同享充电宝脱颖而出,变成同享圈中的“网红”。就在前几日,陈欧表示未来...

娃娃机和迷你KTV“躺着挣钱” 解密孤独消费的逻辑

周末,三里屯某商场,正是午饭之后的时间,一楼产品区购物者三三两两、若有寂静,但摆在商场入口的 4 个迷你KTV“包间”,却座无虚席。透过玻璃可以看到, 4 个包间里分别坐着情侣、一对女生、带着孩子的年轻爸爸妈妈,还有一位背影看起来有些寂寥的...

HTTP的长连接和短连接

HTTP的长连接和短连接

 本文总结&分享网络编程中涉及的长连接、短连接概念。    关键字:Keep-Alive,并发连接数限制,TCP,HTTP一、什么是长连接     HTTP1.1...

从词典查词到文本检索

从词典查词到文本检索

十一假期大家过的还好吗?时间过得真快,距离上一次跟大家聊技术已经过了快三周了。老王很开心今天又能跟大家一起扯淡了,用一句通俗的话讲就是:老王想死你们了!今天准备跟大家聊的,乃是大名鼎鼎的文本检索技术。也就是大家天天都在用的“百度一下”。&n...

同样是做原创内容,你为什么没有别人赚得多?

同样是做原创内容,你为什么没有别人赚得多?

1.内容创业是这个年代的大机遇,凭借互联网的大流量,简直人人都能够经过内容来挣钱。这是咱们这个年代的大福利。许多人面临内容创业都摩拳擦掌,撸起袖子准备大干一场。不过,在详细的行动过程中,总有人会有这样的感触,自个明明很努力但效果却比不上牛人...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。