.NetCore使用cap
[CAP]是一个用来解决微服务或者分布式系统中分布式事务问题的一个开源项目解决方案,同样可以用来作为EventBus使用
分布式的代价:
分布式环境下,服务器之间的通信,可能是不靠谱,这种情况无法避免分区容错,一定存在。CAP
是不能同时满足的!
Consistency
和 Availability
怎么选?一致性和可用性,不能同时满足,要什么?
CP重要,一致性最重要了,数据不能错,银行—交易数据
AP重要,可用性最重要了,系统的可用性,尤其是分布式----微服务,可用性尤为重要,没有可用性是跑不起来
CAP
1、Consistency
(一致性):意思是写操作之后的读操作,必须返回该值,不能出现一个不正确的结果。
a)强一致性:任意时刻数据都是一致性的。
b)弱一致性性:允许某一时刻不一致,承诺在一定时间内变成一致。
c)最终一致性:允许数据不一致,但是最终最终,数据还是的一致的。
2、Availability
(可用性):意思是只要收到用户的请求,服务器就必须给出回应。(分布式下面可用性是最重要的)
3、Partition tolerance
(分区容错):大多数分布式系统都分布在多个子网络。每个子网络就叫做一个区(partition
)。分区容错的意思是,区间通信可能失败。比如,一台服务器放在中国,另一台服务器放在美国,这就是两个区,它们之间可能无法通信。
这里只做记录
具体可以看:https://blog.csdn.net/WuLex/article/details/124622565