ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Nacos相关内容

Nacos相关内容 配置中心长轮询客户端启动后连接nacos 获取配置同时发起长轮询请求server 挂起请求直到有配置更新或超时。有配置更新时server 响应客户端重新拉配置并触发监听器刷新本地有缓存配置保证可用。服务中心Nacos 不是纯粹的最终一致性而是“AP CP”。● 临时实例 ➡️ AP模式Distro协议➡️ 要可用性● 持久化实例/配置 ➡️ CP模式Raft协议➡️ 要强一致“Nacos 2.x 节点间通过 gRPC 保持长连接。如果是 CP 模式底层走 JRaft 协议进行 Leader-Follower 的数据复制和选举如果是 AP 模式底层走 Distro 协议各节点对等通过异步广播和定时校验保证数据最终一致。”新服务注册AP模式不能立马感知distro 协议是异步同步新注册的服务会写入当前节点内存中后面通过广播方式进行同步其他节点获取服务列表会很有短暂延迟但最终一致。CP模式raft协议要求写操作必须同步过半节点才响应客户端集群内大部分节点都有该服务实例实现强一致性主节点挂了怎么办AP模式节点是平等的所以挂了一个其他的节点继续提供服务。CP模式基于raft算法自动触发选主选主期间集群短暂不可写但是是秒级。读请求可以通过本地缓存响应。● 服务注册中心绝大多数场景下是 AP 模式Distro 协议优先保障服务发现的高可用。● 配置中心纯 Nacos 集群模式下是 CP 模式Raft 协议优先保障配置数据的绝对安全与一致接入外部 DB 后则偏向 AP 模式在绝大多数微服务场景中Nacos 扮演的是一个 AP 的角色以保障服务发现的高可用只有在特定需求下才会将其作为 CP 使用。为什么需要服务注册微服务架构中服务实例的IP地址和端口是动态变化的用于解决服务地址不固定的问题。服务器启动时向注册中心注册自己的地址和健康状态注册中心通过心跳机制维护服务实例列表。Nacos心跳检测维护服务实例的健康状态根据实例类型分为两种模式临时实例由客户端自主上报心跳默认是5s超过15s没收到则把实例标记为不健康。超过30s则剔除该实例。持久化实例nacos服务器主动向实例发起健康检查。TCP端口探测或http请求检查失败标记为不健康但不会删除Nacos路由发现分为服务注册和服务发现两部分。服务注册阶段服务启动时向nacos server发送注册请求服务端将实例信息存入内存注册表并在集群之间同步。服务发现阶段nacos1.x依赖客户端定时拉取2.x优化为服务端主动推送变更结合客户端定时拉取的方式保证数据实时性。客户端获取到实例列表结合权重、元数据、集群信息等策略进行负载均衡选择合适的实例进行调用。
返回列表