首页 > 代码库 > 大型网站技术架构:核心原理与案例分析阅读笔记六

大型网站技术架构:核心原理与案例分析阅读笔记六

大型网站核心架构要素之可扩展性

 

  扩展性是指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。它是系统架构设计层面的“开闭原则”。伸缩性是指系统能够通过增加(减少)自身资源规模的方式增强(减少)自己计算处理事务的能力。在网站架构中,通常值利用集群的方式增加服务器数量、提高系统的整体事物吞吐能力。我们要对二者的使用有所区分,不能混淆二者的概念。

  如何构建可扩展的网站架构。我们知道开发低耦合系统是软件设计的终极目标之一,而低耦合的系统更容易扩展,低耦合的模块更容易复用。所以说,设计网站可扩展架构的核心思想是模块化,并在此基础之上,降低模块间的耦合性,提供模块的复用性。

  利用分布式消息队列降低系统耦合性。什么是分布式消息队列?队列是一种先进先出的数据结构,分布式消息队列可以看作将这种数据结构部署到独立的服务器上,应用程序可以通过远程访问接口使用分布式消息队列,进行消息存取操作,进而实现分布式的异步调用。

  使用分布式服务是降低系统耦合性的另一个重要手段。如果说分布式消息队列通过消息对象分解系统耦合性,不同子系统处理同一个消息;那么分布式服务则通过接口分解系统耦合性,不同子系统通过相同的接口描述进行服务调用。

大型网站技术架构:核心原理与案例分析阅读笔记六