《大型网站技术架构-核心原理与案例分析》学习笔记(七):可扩展架构

可扩展架构的核心思想是模块化,并在此基础上,降低模块间的耦合性,提高模块的复用性。

扩展性和伸缩性的区别:

扩展性指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力,当系统需要增加功能时,不需要对现有系统结构和代码进行修改或修改较少,是系统架构设计层面的开闭原则(对扩展开放,对修改关闭);

伸缩性指系统通过增加(减少)自身资源规模方式增强(减少)自己计算处理事务的能力。如利用集群增加服务器数量提高事务吞吐能力。

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

事件驱动架构(Event Driven Architecture):通过在低耦合的模块之间传输事件消息,以保持模块的松散耦合,并借助事件消息的通讯完成模块间的合作。

典型的EDA架构就是生产消费者模式。

二、利用分布式服务打造可复用的业务平台

分布服务的需求与特点:

  1. 负载均衡
  2. 失效转移
  3. 高效的远程通讯
  4. 整合异构系统
  5. 对应用最少侵入
  6. 版本管理
  7. 实时监控

1,Web Service

服务提供者通过WSDL(Web服务描述语言)向注册中心描述提供的服务接口属性,注册中心使用UDDI(统一描述、发现和集成)发布服务提供者提供的服务,服务请求者从注册中心检索到服务后,通过SOAP(简单对象访问协议)和服务提供者通讯,使用相关服务。

缺点:

  1. 臃肿的注册与发现机制
  2. 低效的XML系列化手段
  3. 开销相对较高的HTTP远程通讯
  4. 复杂的部署与维护手段

2,分布式服务框架

Facebook的Thrift;

阿里巴巴的Dubbo;

三、可扩展的数据结构

使用NoSQL;

四、利用开发平台建设网站生态圈

把内部服务封装成调用接口开放出去,供外部第三方使用,也就是开发平台。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值