软件体系架构课下作业04

  作业要求:阅读《大型网站技术架构:核心原理与案例分析》第五、六、七章,结合《某大型需求征集网站》,分析如何增加相应功能,提高系统的可用性和易用性,撰写一篇1500字左右的博客阐述你的观点。

  网站的可用性描述了网站可正常访问的特性,相比于其他的五种特性,网站的可用性十分基础,但却更为关键,称得上是一个网站的立身之本。可用性指标是评价一个网站架构设计的重要指标,它是对网站性能的基本要求,也是能够体现一个网站工程师的能力的试金石。

  同样的,网站的易用性也十分重要,网站的用户是网站的真正使用者,他们对于网站的要求才是技术实现的根本。而系统的易用性,则就是提高用户使用便捷性的关键,市面上我们耳熟能详的网站,就是因为他们分析了用户的操作习惯,对网站易用性进行优化,才能在互联网的大潮中打败竞争对手,得到用户的使用与青睐。

  对于《某大型需求征集网站》而言,我们可以从以下多方面来提高系统的可用性和易用性:

  ①对于网站而言,会话(Session)在网站使用的过程中会不断使用到,系统的登录、需求清单的录入、查询数据库中已填写的数据清单列表、用户个人信息,这些数据对于网站来说至关重要,但是每次从数据库中调入数据都会浪费系统资源,影响网站的整体性能,庞大的数据量以及繁琐的数据填写也会导致用户体验不佳。针对此情况,系统可以保留复制session,对于不同的登录用户,系统会在用户本机保留session,对于一些需要重复填写的数据,网站会根据已有的session自动补充,方便了用户的使用;

  ②对用户的登录作出限制,在同一时间,限制每个账户只能在一个IP上登录,使用此系统,可以保证网站的正常运行。如若不然,某账户同时在多台机器上登录,每个账户进行不同的操作(例如:修改密码、新增需求清单、管理历史清单),进行不同的操作可能会引起数据的冲突,更甚者会导致网站的错误致使崩溃,造成严重的后果;

  ③对用户的各种操作进行时间限制,一方面保护用户,防止第三者未经用户批准,误用系统写入错误的数据,另一方面,也可以节省服务器的资源,防止一台机器长时间占用系统资源,影响其他用户的使用;

  ④对于此需求征集系统而言,用户的数据是至关重要的,对数据的保护也是保证网站可用性的一大重点,主要手段是进行数据备份和实效转移机制。数据备份保证数据有多个副本,任意副本的失效都不会导致数据的永久丢失,从而实现数据的持久化。而失效转移机制则保证当一个数据副本不可访问时,可以快速切换访问数据的其他副本,保证系统的可用;

  ⑤还需要着眼于系统软件本身,即此网站设计的风险。在发布前,一定要对网站进行充分的测试,保证系统能正常运行。测试应该涉及网站的所有功能,不能有所遗漏,预防任何一处小BUG导致不可预估的大风险。可以采用Web自动化测试技术,使用自动测试工具或脚本完成测试。

  ⑥网站发布后,也要对用户的数据进行监控。采集用户的一切相关信息:所有的操作、使用的操作系统、浏览器类型与版本、IP地址、页面的访问路径、页面的停留时间,这些数据对于网站而言十分重要,可以通过日志形式收集,供网站后续的维护工作。

  ⑦除此之外,还要保证网站的伸缩性良好。可以采用:对功能进行物理分离、单一功能集群、负载均衡、采用更佳的算法来设计网站、数据库关系的集群。网站的伸缩性得以保证,可用性同时也会大大提高。

  ⑧网站的可扩展性对于网站的建设者极为重要。网站的可扩展性架构设计,就是应用开闭原则,在对现有系统影响最小的情况下,系统功能可持续扩展及提升的能力。将网站进行模块化设计,实现高内聚低耦合,可以有效增加网站的可扩展性。常见的方法有:分布式消息队列和分布式服务降低系统的耦合度,使用可扩展的数据结构。这样的话,网站程序员工作负担减轻不少,可以更快的实现最新的网站功能,用户也能因此受益。

原文地址:https://www.cnblogs.com/Daddy/p/6565183.html