分布式理论
讨论分布式系统,关键词,基本上,逃不过,“分布式的”,“并行的”,“分散的”,描述了不同的类型。
分布式系统概念
进程与线程
进程:具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位
线程:进程的一个实体,是CPU调用和分配的基本单位,是比进程更小的能够独立运行的单位
并发与并行
并发:系统假设只有一个CPU,多个线程共同执行,不可能每个都能抢到资源,然后会根据时间片进行调度执行,在时间片范围内,多个线程同时进行执行,这种称之为并发
并行:多个CPU,多个线程共同执行,称之为并行,理想中的,并发
锁
锁是用于保护临界区或者临界资源的一种机制,被广泛适用于多线程中
集群
集群:是一组相互独立的,通过高速互联网互联的计算机,构成了一个组,并以单一系统为单位进行管理。一个客户与集群发生交互时,集群是个整体,作为一个独立的服务器资源。
状态特性
目前,所有的分布式系统,都在强调,服务无状态。指的是,任何节点不保存存储状态,可以随意重启,替代,扩展。
系统重发与幂等性
A 系统请求B 系统,如果因为网络原因或者一些其他原因,系统有需求,会自动进行重试,这称之为,重发。
因为多次重发,会造成系统之间数据一致性问题,所以需要进行相关的校验,称之为幂等性的校验
分布式系统理论
CAP理论提出了一致性、可用性,分区容错性的取舍问题
Paxos、Raft、2PC、3PC分别给出了一致性及解决方案,解决分布式事务一致性
Lease机制只要针对网络阻塞情况,出现双主节点的解决方法
\
CAP理论
一致性C :分布式系统,所有数据备份,在同一时刻是否有同样的值
可用性A:在集群中,发生节点故障,是否整体影像客户端读写
分区容错P:可以及时熔断,分区容错