理论系列-分布式服务架构笔记
1. 前言
1.1 发展
- | - |
---|---|
1 | 传统单体架构 |
2 | 服务化架构(SOA) |
3 | 微服务 |
4 | 容器化 |
5 | 云原生 |
传统单体架构:分层(应用层,服务层,存储层)
服务化架构:服务组件(基于网络通信对外提供服务)
- 实现一:Web Service
- 实现二:ESB
微服务架构:微小服务(通常用RESTful风格API通信)
1.2 RPC框架
- | - |
---|---|
JDK RMI | |
Hessian | |
Spring HTTP Invoker |
1.3 服务化框架
- | - |
---|---|
Dubbo | |
Thrift |
1.4 微服务框架
- | - |
---|---|
Spring Cloud Netflix | |
Spring Cloud Alibaba |
2. 分布式系统-分布式一致性
2.1 酸碱平衡理论
- | - |
---|---|
ACID | |
CAP | |
BASE |
2.2 分布式一致性协议
DTS 分布式事务处理模型,包含四种角色:应用程序,事务管理器,资源管理器,通信资源管理器。
JEE规范:TX协议和XA协议
- | - |
---|---|
两阶段提交协议 | |
三阶段提交协议 | |
TCC |
2.3 保证最终一致性的模式
两阶段和三阶段较复杂
TCC臃肿
实践中,一般要求最终一致性即可,如下:
- | - |
---|---|
查询模式 | |
补偿模式 | |
异步确保模式 | |
定期校对模式 | |
可靠消息模式 |
参考
《分布式服务架构》