天天看点

分布式架构核心概念

分布式架构核心概念

  • 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原来一般是“强”可用性,“强”一致性,“强”分区容忍性。