Nacos:开启(CP)各配置说明
nacos可以做CP/AP(默认)
curl -X PUT $NACOS_SERVER:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=CP
TODO 不知道什么作用,大家都说是这个方法,以后研究了再补充 并且配置文件添加
spring: application: name: nacos-provider cloud: nacos: discovery: server-addr: 127.0.0.1:8848 #是否是临时实例 #非临时实例和临时实例心跳机制不一样 #非临时实例挂掉后不会被nacos剔除,而是等待他重连 ephemeral: false
Nacos 保护阈值
保护阈值:可以设置为0-1之间的浮点数,它其实是⼀个⽐例值(当前服务健康实例数/当前服务总实例数)
⼀般流程下, nacos是服务注册中⼼,服务消费者要从nacos获取某⼀个服务的可⽤实例信息,对于服务实例有健康/不健康状态之分, nacos在返回给消费者实例信息的时候,会返回健康实例。 这个时候在⼀些⾼并发、⼤流量场景下会存在⼀定的问题 如果服务A有100个实例, 98个实例都不健康了,只有2个实例是健康的,如果nacos只返回这两个健康 实例的信息的话,那么后续消费者的请求将全部被分配到这两个实例,流量洪峰到来, 2个健康的实例 也扛不住了,整个服务A 就扛不住,上游的微服务也会导致崩溃,,,产⽣雪崩效应
作用:保护阈值的意义在于 当服务A健康实例数/总实例数 < 保护阈值 的时候,说明健康实例真的不多了,这个时候保护阈值会被触发(状态true)
nacos将会把该服务所有的实例信息(健康的+不健康的)全部提供给消费者,消费者可能访问到不健康 的实例,请求失败,但这样也⽐造成雪崩要好,牺牲了⼀些请求,保证了整个系统的⼀个可⽤