大型网站核心架构因素
关于什么是架构,一种比较通俗的说法是 “最高层次的规划,难以改变的决定”,这些规划和决定奠定了事物未来发展的方向和最终蓝图。 从这个意义上说,人生规划也是一种架构。选什么学校、学什么专业、进什么公司、找什么对象、过什么样的生活,都是自己人生的架构。 联系到软件开发: 具体到软件架构,维基百科是这样定义的:”有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计”。 系统的各个重要组成部分及其关系构成了系统的架构,这些组成部分可以是具体的功能模块,也可以是非功能的设计与决策,他们相互关系组成一个整体,共同构成了软件系统的架构。 大型网站核心架构的五个因素:
一、性能性能是网站的一个重要指标,性能差的网站往往也代表这可用性等各方面不好。 关于性能优化,对不同的对象,采取不同的优化措施。 1.浏览器端参考《高性能网站建设指南》,里面提供了14个措施。 联系实际: 想要对网页端优化的朋友,可以参考这本书,具体详情,本文不做太多讲解,该书资源我已经放在我的GitHub,需要的可以去下载。 2.应用服务端(1)数据库服务器(索引、缓存、SQL优化); 3.代码层面使用多线程、改善内存管理等手段优化。 对于网站而言,性能符合预期仅仅是必要条件,因为无法预知网站可能会面临的访问压力,所以必须要考虑系统在高并发访问情况下,超出负载设计能力的情况下可能会出现的性能问题。网站需要长时间持续运行,还必须保证系统在持续运行且访问压力不均匀的情况下保持稳定的性能特征。 二、可用性网站高可用的主要手段是冗余,应用部署在多台服务器上同时提供访问,数据存在在多台服务器上互相备份,任何一台服务器宕机都不会影响应用的整体可用,也不会导致数据丢失。 联系实际: 三、伸缩性大型网站需要面对大量用户的高并发访问和存储海量数据,不可能只用一台服务器就处理全部用户请求,存储全部数据。网站通过集群的方式将多台服务器组成一个整体共同提供服务。所谓伸缩性是指通过不断向集群中加入服务器的手段来缓解不断上升的用户并发访问压力和不断增长的数据存储需求。 联系实际: 四、扩展性不同于其他架构要素主要关于非功能性需求,网站的扩展性架构直接关注网站的功能需求。网站快速发展,功能不断扩展,如何设计网站的架构使其能够快速响应需求变化,是网站可扩展架构主要的目的。 衡量网站架构扩展性好坏的主要标准就是网站增加新的业务产品时,是否可以上线新产品。不同产品之间是否很少耦合,一个产品改动对其他产品无影响,其他产品和功能不需要受牵连进行改动。 联系实际: 五、安全性互联网是开放的,任何人在任何地方都可以访问网站。网站的安全将就是保护网站不受恶意访问和攻击,保护网站的重要数据不被窃取。 Web网站常用的攻击方式: (2)拒绝服务攻击 - 此威胁的目标可能是拒绝合法用户访问资源。 (3)跨站点脚本XSS - 此威胁的目标可能是注入可在客户端浏览器上执行的代码。 (4)Cookie /会话中毒 - 此威胁的目标是通过攻击者修改Cookie /会话数据以获取未经授权的访问权限。 (5)表格篡改 - 此威胁的目标是修改表单数据,例如电子商务应用程序中的价格,以便攻击者可以以较低的价格获得物品。 (6)代码注入 - 此威胁的目标是注入可在服务器上执行的PHP,Python等代码。代码可以安装后门,泄露敏感信息等。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |