一、可扩展的网站架构
核心思想:模块化、低耦合。
二、利用分布式消息队列降低系统耦合性
通过低耦合的模块之间传输事件消息,以保持模块的松散耦合,并借助事件消息的通信完成模块之间的合作。
方法:分布式消息队列
三、利用分布式服务打造可复用的业务平台
巨无霸系统带来如下问题:编译部署困难、代码分支管理困难、数据库连接耗尽、新增业务困难。
方法:拆分、独立模块部署、降低系统耦合性。
- 纵向拆分:大应用拆分成多个独立小应用。
- 横向拆分:复用的业务拆分出来,独立分布式部署。
大型网站分布式服务的需求与特点
(1)负载均衡
(2)失效转移
(3)高效的远程通信
(4)整合异构系统
(5)对应最少侵入
(6)版本管理
(7)实时监控
分布式服务框架设计
如:Dubbo、K8S。
四、可扩展的数据结构
预先设计冗余字段(差)
NOSQL(可选)
五、建设可对外开放的能力开放平台
包含:API接口、协议转换、安全、审计、路由、流程。