Nacos长连接诉求分析

简介: Nacos长连接诉求分析

Nacos1.x版本推送模型的现状分析


Nacos1.x版本配置中心推送模型

image.png

1、配置中心服务端通过MD5一致性对比发现客户端不是最新版本的配置

2、所以会与客户端建立短连接通过异步Servlet的方式主动推送数据给客户端

缺点

因为是短连接 30秒定期创建和销毁 所以GC压力很大

服务注册发现中心推送模型

image.png

服务端与客户端建立Http或UDP连接进行推送数据


缺点

  • 丢包

因UDP存在丢包的情况 所以会有一个UDP的补偿查询

  • 云架构下无法反向推送

反思改进的方向

  • 因配置中心和服务注册发现中心推送通道不一致所以要统一推送通道
  • 因http短连接性能压力大所以要使用长链接


场景分析


image.png

客户端和服务端之间


连接

客户端连接服务端:首先要获取服务端节点列表,然后负载均衡选择一个节点连接;连接断开时需要切换服务端重连


客户端发起

客户端基于当前可用的长链接发起配置领域或服务发现领域的RPC语意接口通信


服务端发起

服务端推送配置变更数据或服务变更数据给客户端;失败可重推;有推送ack机制,方便服务端进行metrics和重推判定


客户端断开连接

感知客户端断开连接,将连接注销,并且清空对应的上下文比如客户端连接注册的服务和订阅的服务

服务端之间


连接

服务端之间需要长连接感知对端存活状态,需要通过长连接汇报服务状态(同步RPC能力);断开连接,需要进行重连;服务端列表发生变更,需要创建新节点的长连接,销毁下线的节点长连接


数据同步

比如服务注册与发现:服务端之间进行AP Distro数据同步,需要异步RPC带ack能力

比如配置中心:配置变更信息同步、当前连接数信息、系统负载信息同步、负载调节信息同步


长链接核心诉求


功能性诉求

image.png

连接

无论客户端还是服务端都要具有连接生命周期的感知能力 包括连接的建立和连接断开


客户端角度

1、客户端调用服务端需要支持同步阻塞、异步Future、异步CallBack三种模式

2、客户端与服务端断开连接,需要具备底层切换连接的能力

3、客户端响应服务端的连接切换的请求

4、选址/服务发现


服务端角度

1、服务主动推送数据,需要客户端返回ack以保证消息的可靠推送,并且可进行失败重试

2、服务端主动推送负载调节


相关文章
|
存储 缓存 负载均衡
【Alibaba中间件技术系列】「Nacos技术专题」服务注册与发现相关的原理分析
【Alibaba中间件技术系列】「Nacos技术专题」服务注册与发现相关的原理分析
519 74
【Alibaba中间件技术系列】「Nacos技术专题」服务注册与发现相关的原理分析
|
运维 中间件 调度
【Alibaba中间件技术系列】「Nacos技术专题」配置中心加载原理和配置实时更新原理分析(中)
【Alibaba中间件技术系列】「Nacos技术专题」配置中心加载原理和配置实时更新原理分析(中)
650 83
【Alibaba中间件技术系列】「Nacos技术专题」配置中心加载原理和配置实时更新原理分析(中)
|
缓存 Ubuntu 安全
【Alibaba中间件技术系列】「Nacos技术专题」配置中心加载原理和配置实时更新原理分析(上)
【Alibaba中间件技术系列】「Nacos技术专题」配置中心加载原理和配置实时更新原理分析(上)
499 84
【Alibaba中间件技术系列】「Nacos技术专题」配置中心加载原理和配置实时更新原理分析(上)
|
存储 前端开发 Nacos
从源码角度分析 Nacos 配置文件加载以及加载优先级
从源码角度分析 Nacos 配置文件加载以及加载优先级
1477 0
|
11月前
|
存储 Kubernetes 安全
Nacos-Controller 2.0:使用 Nacos 高效管理你的 K8s 配置
无论是使用 Nacos-Controller 实现配置的双向同步,还是直接在应用中接入 Nacos SDK 以获得更高级的配置管理特性,都能显著提升配置管理的灵活性、安全性和可维护性。使用 Nacos,您能够更好地管理和优化您的应用配置,从而提高系统的稳定性和可靠性。
908 50
|
存储 网络协议 Nacos
高效搭建Nacos:实现微服务的服务注册与配置中心
Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一款动态服务发现、配置管理和服务管理平台。它旨在帮助开发者更轻松地构建、部署和管理分布式系统,特别是在微服务架构中。
2316 81
高效搭建Nacos:实现微服务的服务注册与配置中心
|
JSON Java Nacos
SpringCloud 应用 Nacos 配置中心注解
在 Spring Cloud 应用中可以非常低成本地集成 Nacos 实现配置动态刷新,在应用程序代码中通过 Spring 官方的注解 @Value 和 @ConfigurationProperties,引用 Spring enviroment 上下文中的属性值,这种用法的最大优点是无代码层面侵入性,但也存在诸多限制,为了解决问题,提升应用接入 Nacos 配置中心的易用性,Spring Cloud Alibaba 发布一套全新的 Nacos 配置中心的注解。
1573 140
|
监控 Java 测试技术
Nacos 配置中心变更利器:自定义标签灰度
本文是对 MSE Nacos 应用自定义标签灰度的功能介绍,欢迎大家升级版本进行试用。
1184 207
|
11月前
|
存储 人工智能 测试技术
Nacos托管LangChain应用Prompts和配置,助力你的AI助手快速进化
AI 应用开发中,总有一些让人头疼的问题:敏感信息(比如 API-KEY)怎么安全存储?模型参数需要频繁调整怎么办?Prompt 模板改来改去,每次都得重启服务,太麻烦了!别急,今天我们就来聊聊如何用 Nacos 解决这些问题。
|
Cloud Native Java Nacos
springcloud/springboot集成NACOS 做注册和配置中心以及nacos源码分析
通过本文,我们详细介绍了如何在 Spring Cloud 和 Spring Boot 中集成 Nacos 进行服务注册和配置管理,并对 Nacos 的源码进行了初步分析。Nacos 作为一个强大的服务注册和配置管理平台,为微服务架构提供
4766 14

热门文章

最新文章