😀前言
本篇博文是关于Nacos AP 和CP 切换-理论,希望你能够喜欢
🏠个人主页:晨犀主页
🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉
💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦😊
文章目录
- Nacos AP 和CP 切换-理论
- CAP理论
- 各种注册中心对比
- AP OR CP
- 小结
- AP 和CP 切换
Nacos AP 和CP 切换-理论
CAP理论
CAP理论是分布式系统设计中的一个基本原则,指出在分布式系统中,Consistency(一致性)、Availability(可用性)、Partition tolerance(分区容错性)这三个方面不可同时满足。这意味着在面对网络分区(Partition)时,系统必须在一致性和可用性之间做出权衡。
- 一致性(Consistency):
指系统中的所有节点在同一时间看到的数据是一致的。即使系统在分布式环境下,各个节点对数据的读取和写入操作也应该保持数据的一致性。如果一个节点写入了数据,那么其他节点应该能够立即读取到最新的数据。 - 可用性(Availability):
指系统能够提供服务并响应用户的请求,即使在面临节点故障的情况下也能够保持一定程度的可用性。换句话说,系统应该保证用户能够随时访问并使用其功能。 - 分区容错性(Partition tolerance):
指系统能够在面对网络分区的情况下继续工作。网络分区是指系统中的节点由于网络故障或延迟而无法相互通信,导致系统被分成多个部分。分区容错性要求系统能够在这种情况下继续运行,而不会因为分区而崩溃或停止工作。
各种注册中心对比
AP OR CP
-
CP(一致性和分区容错性):在 CP 模式下,系统会优先保证数据的一致性和分区容错性,即使这意味着在某些情况下服务会不可用。这意味着系统在面对网络分区时会选择保持数据的一致性,但可能会导致部分节点无法提供服务。CP 模式适用于对数据一致性要求较高的场景,如金融系统等。
-
AP(可用性和分区容错性):在 AP 模式下,系统会优先保证服务的可用性和分区容错性,即使这意味着数据可能会出现短暂的不一致。这意味着系统会尽可能保持服务的可用性,响应用户的请求,即使在面对网络分区时数据可能会存在一定程度的不一致。AP 模式适用于对服务可用性要求较高的场景,如社交网络等。
小结
在实际应用中,大多数系统会选择 AP 模式,因为在现实世界中,对服务的可用性要求往往比数据的一致性更为重要。然而,对于一些特定的应用场景,如银行系统等对数据一致性要求极高的场景,可能会选择 CP 模式。选择适合自身需求的模式是系统设计中的重要决策之一。
AP 和CP 切换
如何在 Nacos 集群中切换 CAP 原则的两种模式(AP 和 CP)的说明:
-
默认情况下,Nacos 集群支持的是 CAP 原则中的 AP 模式,即优先保证可用性。这意味着在面对网络分区时,Nacos 将尽可能保持服务的可用性,响应用户的请求,即使数据可能会出现短暂的不一致。
-
尽管默认情况下 Nacos 使用 AP 模式,但你可以选择切换到 CP 模式。一般情况下不建议这样做,因为这可能会降低系统的可用性。切换命令可以使用 CURL 进行,命令如下:
curl -X PUT '$NACOS_SERVER:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=CP'
-
同样的切换也可以通过 URL 指令完成,指令如下:
$NACOS_SERVER:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=CP
文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞