文章目录
SpringCloud总体
CAP & BASE理论
CAP(分布式系统设计理论)
C一致性,A高可用性,P分区容错性,一般只能保证CP和AP,无法同时满足三种情况(AC无法同时达到)
针对Zookeeeper的分布式集群之间保证注册信息的强一致性,导致主挂了选主时–暂停了服务注册的服务–即不能保证高可用;
针对Eureka集群之间每个节点是平等的,只不过节点之间的数据不一定强一致(可能稍微有点先后顺序),一个节点挂了,就用另一个节点的注册信息(只不过信息可能不是最新的)—保证了高可用,但是不能保证一致性问题
BASE(CAP的延伸—对AP的补充+想要一点C)
Nacos(Naming + Configure+service)—服务注册与配置
nacos的功能:服务注册中心+配置中心(AP/CP集群管理)
对于nacos服务来讲它是如何判断服务实例的状态的 && 如何读取配置中心信息?
nacos服务客户端(要注册到nacos的服务)启动时会每隔一段时间(默认5秒)向nacos发送心跳包,nacos注册中心15秒内没有检测到心跳包会默认认为nacos处于一种不健康的状态,30秒还没收到则认为这个服务已不可用或停止了。
配置文件读取的优先级(bootstrap高于application文件)
配置文件的定位:NameSpace(开发环境,测试环境,生产环境)+group(不同的微服务组)+dataId(随意)
一般在bootstrap配置指定的Namespace和GroupID,可以切换不同的dataID