1、单体服务理解
微服务的出现主要是为了解决传统单体服务的缺点
传统单体服务
传统单体服务是什么?传统单体服务即写好代码后进行打包发布
单体服务的优点:
- 易于搭建开发环境
- 易于测试
- 易于部署
单体服务的缺点:
- 局部改动全局更新
- 编译时间长
2、CAP原理
CAP原理
Consistency(一致性)
:数据一致性,表述系统的数据信息(包括备份信息)在同一时刻都是一致的。在分布式系统下,同一份数据可能存在于多个不同的实例中,在数据强一致性的要求下,对其中一份数据的修改必须同步到它的所有备份中。在数据同步的任何时候,都需要保证所有对该份数据的请求将返回同样的状态
Availability(可用性)
:服务可用性,服务在接受到客户端请求后,都能给出响应。服务可用性考量的是系统的可用性,要求系统在高并发和部分节点宕机的情况下,系统整体依然能够响应客户端的请求
Partition tolerance(分区容忍性)
:分布式系统中,不同节点之间通过网络进行通信。基于网络的不可靠性,位于不同网络分区的服务节点可能会通信失败,如果系统可以容忍这种情况,说明它是满足分区容忍特性的。如果系统不能够满足分区容忍特性,那么将会限制分布式系统的扩展性,即服务节点的部署数量和地区将会受到限制,违背了分布式系统设计的初衷,所以一般来讲分布式系统都会满足分区容忍性。