分布式架构核心概念
- RPC(Remote Procedure Call)远程过程调用。
1、允许两个节点之间像调用本地服务一样调用远程服务;
2、RPC的目标是让远程调用更简单、透明;
3、RPC框架负责封装底层传输方式(TCP/UDP协议)、序列化方式(json/xml/二进制)和通信细节,开发者不需要关系底层。
- RESTful(Representational State Transfer)表述性状态转移
1、一个架构符合REST约束条件和原则,就是RESTful架构;
2、目前只有HTTP+JSON是常用到的RESTful架构。
- CAP原理
1、A(Availability):可用性(保证每个请求不管成功或者失败都有响应);
2、C(Consistency):一致性(在分布式系统中的所有数据备份,在同一时刻是否同样的值);
3、P(Partiton tolerance):分区容忍性(系统中任意信息的丢失或失败不会影响系统的继续运作);
4、CAP原理的结论:任何一个分布式系统都不可能同时满足这三个条件,只能在其中两个条件进行取舍。
5、关于CAP的理解:
A(可用性):在分布式中可以通过多个节点去实现;
B(一致性):在分布式中使用NOSQL等各种技术保证每个节点数据一致;
P(分区容忍性):使用异常或者熔断等使每个请求都能得到响应。
6、关于CAP原理运用的理解:
针对客户体验,在可预知各种问题情况,和网络和服务器宕机等不可遇见的情况下,都要首选保证系统是可运行的,所以一般P是必选项;A和C都需要根据各个系统需求情况去取舍,或者是需要“弱”A和“弱”C;
备注:CAP原来一般是“强”可用性,“强”一致性,“强”分区容忍性。