全球旧事资料 分类
开放源代码已经成为一些大型网站的基本原则。而在这些网站成长的过程中,一些优秀的实践经验和规则也出现在他们的结构中。本文旨在介绍一些在大型网站结构设计的过程中需要注意的关键问题以及实现目标的基础工作。本文侧重于介绍网络系统,尽管一些准则在其他分布式系统中也是适用的。11web分布式系统的设计原则搭建和运营一个可伸缩的web站点或者应用程序意味着什么?在原始层面上这仅仅是用户通过互联网连接到远程资源使系统变得可伸缩的部分是将资源、或者访问的资源,分布于多个服务器上。像生活中大多数事情一样,当构建一个web服务时花时间提前做好计划从长远看来还是很有帮助的;了解一些注意事项和大网站背后的权衡原则可以在创建小型网站时做出更明智的决定。以下是一些影响大规模web系统设计的关键原则






可用性对于很多公司来说一个网站的正常运行时间是非常关键的声誉和功能,像一些大型的在线零售系统,即使一分钟的宕机都有可能导致数千或者数百万美元的损失,因此设计系统的时时可用性和弹性的错误处理机制既是一个基本业务也是一个技术要求。高可用分布式系统需要仔细考虑关键组件的冗余,分系统失败后能快速修复,并且当问题出现时优雅型降级。性能网站的性能正在变成大多数站点考虑的一个重要的方面,网站的速度影响正常使用和用户的满意度,同样影响搜索的排名,这也是影响网站收益和保留用户的一个因素。因此,创建一个快速响应和低延迟的系统是非常关键的。可靠性一个系统需要具备可靠性,比如同一个数据的请求始终返回同样的数据响应。如果数据改变或者被更新,那么同样的数据将返回一个新的数据。用户需要知道一些东西被写入系统或者被存储到系统后,系统会保持不变并且可以在以后恢复到合适的位置。可伸缩性当谈到任何大型的分布式系统时,规模大小只是考虑的其中一个方面,同样重要的是增强处理较大规模的负载性能所做的努力,这通常称为系统的可伸缩性。可伸缩性可以代表系统很多不同的参数:额外流量的处理量,添加存储容量的便意性,甚至事务的处理量。可管理性设计一个系统可以方便操作是另一个重要的考虑方面,系统的可管理性等同于操作的可伸缩性:维护和升级。可管理性需要考虑的事情是当问题发生时方便诊断和了解问题,易于升级和修改,以及系统能简单性的操作(即,例行的操作有没有失败和异常?)成本成本是一个重要的因素。很明显这包含硬件和软件成本r
好听全球资料 返回顶部