读书笔记:网站架构之扩展性篇

目录:

一、构建可扩展的网站架构

二、利用分布式消息队列降低系统耦合

三、利用分布式服务打造可服用平台 


PS:本文为《大型网站技术架构 & 核心原理与案例分析(李智慧 著)》一书的读书笔记


// =======================================================================================


构建可扩展的网站架构


一、可扩展性体现

*:可扩展性指系统功能可持续扩展和提升的能力。

*:体现在业务层面上,应用之间高内聚低耦合,对需求变更快速响应。即开闭原则,对拓展开放,和修改关闭


二、可扩展性的挑战

*:如何分解系统的各个模块,定义各个模块的接口,复用组合各个模块构成一个完整的系统,都是架构设计中最用挑战的地方

*:核心:模块化思想,降低模块间耦合,提高模块复用性


// ===========================================================


利用分布式消息队列降低系统耦合


一、事件驱动架构(Event Driven Architecture

*:指在各个模块间传输事件消息,以保持模块间的低耦合,并使用事件消息完成模块间

*:典型的EDA架构就是操作系统的生产者消费者模型,在大型网站中实现EDA常用的为分布式消息队列


二、分布式消息队列

*:消费队列利用发布-订阅模式工作,消息发送者发布消息,若干个消息接收者订阅消息

*:消息发送者将消息发送至分布式消息队列即结束消息处理(前提是不用等待消息接收者处理数据)


// ===========================================================


利用分布式服务打造可服用平台


*:分布式消息队列通过消息对象对系统解耦,不同系统模块处理同一消息。

*:分布式服务则通过接口API对系统解耦,不同系统模块通过相同接口描述进行服务调用


一、分布式服务的需求和特点

*:负载均衡和失效转移

*:高效的远程通信

*:整合异构系统

*:实时监控和智能告警


二、分布式服务的框架设计

*:大型网站需简单高效的分布式服务框架构建其SOA(面向服务体系结构),如淘宝的Dubbo



你可能感兴趣的:(linux,架构设计,大型网站,扩展性)