MSE Nacos提供的技术栈+框架的组合连接方式,适应各种各样的微服务系统和业务场景。同时,为了您微服务系统的稳定性,您需要避开使用Nacos SDK的限制版本。本文介绍MSE Nacos SDK的应用以及Nacos SDK限制使用版本。

MSE Nacos SDK的应用

MSE Nacos提供的技术栈+框架的组合连接方式,适应各种各样的微服务系统和业务场景。例如,如果您业务使用的技术栈是Java,您既可以通过原生的Nacos-Java-SDK,也可以通过集成Spring Cloud、Dubbo等框架来使用Nacos作为服务注册与发现中心;如果您业务使用的技术栈是Go,则可以通过原生Nacos-Go-SDK、Dubbo-Go、Kitex等框架来集成Nacos注册中心,完成微服务系统的搭建。另外,MSE Nacos作为一款云原生时代的中间件,现在也已积极融入服务网格Istio的生态,为开发者在云原生场景下的使用提供便利。

MSE Nacos SDK列表

下方Nacos SDK列表按照技术栈和框架两个维度进行划分,可以根据您所需的技术栈和选用的框架,在下表中匹配适合您的技术最佳实践。

技术栈 框架
原生SDK Spring Boot Spring Cloud Dubbo(Dubbo-Go) Kitex
Java Nacos提供了Java SDK连接引擎的方式,详情请参见Java SDK Nacos为Spring Boot架构的用户提供了完善的接入方案,详情请参见Nacos Spring Boot快速开始 Nacos提供了Spring Cloud的接入方式,详情请参见Nacos Spring Cloud快速开始 Dubbo是一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务注册到Nacos并相互调用,详情请参见如何在MSE上为Dubbo应用构建服务注册中心 -
Golang Go用户可以使用示例工程,快速搭建基于Go的框架 - - Apache Dubbo-Go支持Go用户基于Nacos搭建RPC服务,详情请参见Apache Dubbo-Go Kitex是一款基于Golang微服务RPC框架,默认集成了Nacos注册中心,详情请参见如何在MSE上为Kitex应用构建服务注册中心
Node.js Nacos提供Node.js的连接方式,详情请参见基于Node.js的微服务系统 - - - -
Python Python用户可以使用Nacos-SDK-Python,集成Nacos搭建微服务系统。 - - - -
服务网格 Nacos支持以MCP标准接入,详情请参见新建服务来源 - - - -

Nacos SDK限制使用版本

MSE中有一些限制使用的版本。为了您微服务系统的稳定性,建议您避开下列的Nacos SDK限制使用版本。如果您的业务已经依赖了这些版本,MSE也针对这些版本可能出现的风险提供了对应的建议和解决方案。

Java

不推荐版本 不推荐原因 解决方案
0.X~1.1.X 不支持轻量级服务心跳,导致心跳包过大,影响性能。更多信息请参见详情 升级至1.2.0或以上版本。
1.4.1 当DNS不可用,域名解析失败时,导致心跳线程意外退出,服务掉线且无法自愈。更多信息请参见详情 升级至1.4.2或以上版本。

Go

不推荐版本 不推荐原因 解决方案
2.0.0 当出现连接重连后,不会自动重新注册和订阅服务,导致服务掉线且无法自愈。更多信息请参见详情 升级至2.0.1或以上版本。

相关框架

  • Dubbo

    不推荐版本 不推荐原因 解决方案
    2.7.5或以下 订阅多个服务时,无法获取到Provider的地址列表变化,导致流量路由到下线或不存在的Provider上。更多信息请参见详情 升级至2.7.5或上版本。
    2.7.8 Dubbo会创建非常多Nacos Client实例,从而导致连接数,线程数暴涨,极大影响客户端和服务端稳定性。更多信息请参见详情 升级至2.7.9或以上版本。
    2.7.11 默认依赖了Nacos-Java-Client 1.4.1版本。 升级至2.7.12或以上版本,也可以自行修改Nacos Client版本为1.4.2或以上版本。
  • Spring Cloud Alibaba

    不推荐版本 不推荐原因 解决方案
    2.2.4.RELEASE或以下 会覆盖Nacos Client的日志配置,导致大量Nacos的日志输出到应用的业务日志中,对应用的问题排查造成影响。更多信息请参见详情 升级至2.2.6.RELEASE以上版本。
    2.2.4.RELEASE 默认依赖了Nacos-Java-Client 1.4.1版本。 升级至2.2.6.RELEASE以上版本,或自行修改Nacos Client版本为1.4.2或以上版本。
    2.2.5.RELEASE 默认依赖了Nacos-Java-Client 1.4.1版本。 升级至2.2.6.RELEASE以上版本,或自行修改Nacos Client版本为1.4.2或以上版本。