`
大涛学长
  • 浏览: 111221 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Nacos 1.1.4 发布,业界率先支持 Istio MCP 协议

阅读更多
Nacos是阿里巴巴开源的服务发现与配置管理项目,本次发布的1.1.4版本,主要带来的是与Istio的对接功能,使用的是Istio最新的MCP协议。本文将介绍包括这个功能在内的新版本发布的功能。

升级指南
----

#### 服务端

**0.8.0及以上版本:**

*   解压安装包后替换{nacos.home}/target/nacos-server.jar
*   逐台重启Nacos Server即可

**0.8.0以下版本,先升级到1.0.0版本。**

#### 客户端

替换pom依赖即可。

支持Istio MCP协议
-------------

这是本次版本最大的更新,主要是实现了Nacos服务数据往Istio下发的功能,也是目前业界所有注册中心里面第一个由官方提供的MCP协议对接版本。Pilot最新的设计中,是使用MCP协议来与所有后端的数据源进行交互的。这样做的好处是可以解耦所有扩展组件的代码,Pilot保持轻量的逻辑,在代码质量、组件稳定性及扩展性方面都大幅提升。我们可以看一下Pilot官方提供的Pilot设计图,地址详情参考[这里](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fdocs.google.com%2Fdocument%2Fd%2F1S5ygkxR1alNI8cWGG4O4iV8zp8dA6Oc23zQCvFxr83U%2Fedit%23heading%3Dh.k34grc1as8vr)。

![1](https://yqfile.alicdn.com/804e244066a3accac8f07e89bd10984a54b0c93c.png) 
**图1 Pilot的最新设计概念图**

虽然在设计图中,Pilot后端的MCP Server已经有了Consul、Eureka等,但是这些项目目前都没有官方支持的MCP Server。Nacos是目前首个官方支持Istio MCP协议的项目。

关于MCP协议的设计,可以参考Istio的[文档](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fistio%2Fapi%2Ftree%2Fmaster%2Fmcp)。Nacos实现的MCP Server,目前使用的是单个服务编号,全量服务推送的模式,因为目前Pilot还不支持增量的服务数据推送(Nacos 1.1.4发布之后,Pilot已经支持了endpoint级别的增量推送,Nacos也会在下个版本支持)。实现的逻辑就是启动一个gRPC Server来进行MCP数据的传输,代码可以参[这里](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Falibaba%2Fnacos%2Ftree%2Fdevelop%2Fistio)。 
![2](https://yqfile.alicdn.com/aeb7be31c377e036993812d97fa8a7851b7fe8fb.png) 
**图2 Nacos MCP Server架构**

使用Nacos MCP Server的方式如下: 
1、下载最新的Nacos 1.1.4安装包,解压; 
2、配置application.properties,然后重启Nacos;

```
nacos.istio.mcp.server.enabled=true

```

![](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)![](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")

注意:如果Nacos是集群部署,则只需要配置一台Server启动MCP Server即可,因为每台Nacos Server的数 据都是全量的。同时Nacos MCP Server使用的端口是18848,请注意端口是否冲突;

3、配置Pilot使用Nacos MCP Server:

```
configSources
-- address: x.x.x.x:18848

```

![](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)![](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")

4、重启Pilot;

自定义实例ID
-------

在之前的版本中,Instance类的instanceId字段,是用来作为唯一标识这个instance的属性,它的值默认是不能由客户端来指定的。在1.1.4版本中,我们支持了允许客户端自定义ID以及一个新增加的instanceId生成算法:一个服务内唯一的整数,这个整数可以用来作为实例在服务内的唯一索引。这个功能由vettal-wu贡献,非常感谢。

这个整形instanceId的使用方式为在注册时配置instance的metadata,指定使用该id生成算法,样例代码如下:

```
Instance instance = new Instance();
instance.setIp("1.1.1.1");
instance.setPort(80);
// 必须设置ephemeral=false,来保证服务端使用的是严格的一致性协议,否则可能会导致生成的instance id冲突:
instance.setEhpemeral(false);
instance.setMetadata(new HashMap<String, String>());
instance.getMetadata().put(PreservedMetadataKeys.INSTANCE_ID_GENERATOR, Constants.SNOWFLAKE_INSTANCE_ID_GENERATOR);
```

![](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)![](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")

Nacos在这个版本也有一些关于代码质量上的优化更新,具体可以参考1.1.4版本[issue列表](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Falibaba%2Fnacos%2Fissues%3Fq%3Dis%253Aissue%2Bmilestone%253A1.1.4)。

如何共建
----

为了实现这一目标,你需要积极参与Nacos社区。如果您在文档中发现拼写错误,在代码中发现错误,或想要新功能或想要提供建议,您可以在GitHub上[创建一个issues](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Falibaba%2FNacos%2Fissues%2Fnew)。

如果您想开始着手,可以选择github仓库中有以下标签的issues。 
[good first issue](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Falibaba%2Fnacos%2Flabels%2Fgood%2520first%2520issue):对于新手来说是非常好的入门issues。 
[contribution welcome](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Falibaba%2Fnacos%2Flabels%2Fcontribution%2520%25E6%25AC%25A2%25E8%25BF%258E):非常需要解决的问题和非常重要的模块,但目前缺少贡献者,欢迎贡献者来贡献。

蓬勃发展的 Nacos 社区
--------------

**DISS is cheap, show me your hand** 
**比吐槽更重要的是搭把手,参与社区一起发展 Nacos**

作为用户关注和加入 Nacos 社区


*   作为代码贡献者加入 Nacos 社区

从Nacos用户发展而成贡献者顺理成章,而Nacos开发团队也确实在日趋壮大,从开始的只有4个代码contributor发展到目前的40多个,1.1.4版本中,参与Nacos仓库贡献的开发者有:stackisok,loadchange, ly641921791, EZLippi, rushsky518, universefeeler, nkorange, vettal-wu, beldon等。 
![4](https://yqfile.alicdn.com/1db78af3cd29cc303aeebf75413dddf8fa20b140.png)

 

 

 

[原文链接](https://yq.aliyun.com/articles/723938)

本文为云栖社区原创内容,未经允许不得转载
分享到:
评论

相关推荐

    nacos1.1.4.zip

    这个“nacos1.1.4.zip”压缩包包含了Nacos 1.1.4版本的Windows操作系统下的安装文件。 在Nacos 1.1.4这个版本中,它可能包含了以下关键知识点: 1. **服务发现**:Nacos作为服务注册与发现的组件,允许微服务应用...

    nacos1.1.4版本,可配置MySQL8版本

    Nacos1.1.4支持MySQL8意味着用户可以利用其强大的数据库能力来存储和服务发现的数据,提升了数据的可靠性和并发处理能力。 配置Nacos使用MySQL8的过程主要包括以下几个步骤: 1. 安装并配置MySQL8:确保安装了MySQL...

    nacos1.1.4和2.0.3的docker安装和nacos的配置中心使用-哔哩视频

    nacos1.1.4和2.0.3的docker安装和nacos的配置中心使用—哔哩视频

    nacos 1.1.4 windows版本.zip

    Nacos 1.1.4是该软件的一个稳定版本,适用于Windows操作系统。在这个版本中,你可以找到"Nacos-server-1.1.4.zip"这个核心文件,它是Nacos在Windows环境下的安装包。 1. **Nacos概述**: Nacos的核心功能包括服务...

    nacos1.1.4.rar

    nacos1.1.4下载,windows和linux系统都可使用。

    nacos1.1.4的linux和window包

    Nacos 1.1.4是该框架的一个稳定版本,包含了对Linux和Windows操作系统的支持,使其能在各种环境中运行。 在微服务架构中,Nacos的主要功能包括: 1. **服务注册与发现**:Nacos作为一个服务注册中心,允许微服务...

    nacos1.1.4_postgres.7z

    详情查看:https://blog.csdn.net/qq3892997/article/details/115397327

    nacos1.1.4包含window和linux俩个包

    Nacos 1.1.4版本的发布,为开发者提供了在Windows和Linux两大主流操作系统上的运行支持,这使得无论是在Windows开发环境下还是在Linux生产环境中,都能方便地部署和使用Nacos。 首先,我们来详细了解一下Nacos的...

    nacos1.1.4版本及1.4.1版本.rar

    winds10使用naco1.1.4版本及naco1.4.1版本

    nacos 1.1.4 Linux版本.zip

    1.1.4是Nacos的一个稳定版本,它提供了对Linux环境的良好支持。在本文中,我们将深入探讨Nacos的核心功能、安装过程以及如何在Spring Cloud Alibaba框架中集成Nacos。 一、Nacos核心功能 1. **服务注册与发现**:...

    nacos1.1.4的win包和linux包.rar

    这个压缩包“nacos1.1.4的win包和linux包.rar”包含了Nacos在Windows和Linux两个操作系统上的安装包,方便在不同环境下部署使用。 1. **Nacos核心功能**: - **服务注册与发现**:Nacos作为服务注册中心,允许...

    nacos1.1.4 两个版本win和Linux版本.zip

    总的来说,Nacos1.1.4版本的Windows和Linux双版本提供了一套完整的分布式服务治理解决方案,无论是在个人学习还是企业级部署,都能够满足用户的需求。通过这个压缩包,用户可以快速地在不同的操作系统上搭建和使用...

    nacos-1.1.4-zip+tar.rar

    nacos1.1.4最稳定版本(nacos-server-1.1.4.zip+nacos-server-1.1.4.tar.gz Nacos是阿里的一个开源产品,它是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。Nacos致力于帮助您发现、配置和管理...

    nacos-istio-2.0.4.RELEASE-API文档-中文版.zip

    赠送jar包:nacos-istio-2.0.4.RELEASE.jar; 赠送原API文档:nacos-istio-2.0.4.RELEASE-javadoc.jar; 赠送源代码:nacos-istio-2.0.4.RELEASE-sources.jar; 赠送Maven依赖信息文件:nacos-istio-2.0.4.RELEASE....

    nacos1.1.4-nacos2.0.1.zip

    本压缩包"nacos1.1.4-nacos2.0.1.zip"包含了Nacos从1.1.4到2.0.1的版本更新,为开发者提供了最新的Nacos服务。 1. **服务发现**:Nacos作为服务注册与发现的工具,允许微服务应用动态地注册和发现彼此。它提供了一...

    nacos-server.1.1.4.zip

    4. **元数据管理**:除了基础的服务和配置管理,Nacos还支持服务元数据的管理,如服务的权重、分组、标签等,帮助构建更灵活的服务治理体系。 二、Nacos特性解析 1. **高可用**:Nacos支持集群部署,通过主备模式...

    nacos-1.1.4-all.rar

    Nacos是阿里巴巴开源的一款分布式服务治理和配置中心的框架,版本1.1.4提供了更加稳定和高效的服务。这个压缩包“nacos-1.1.4-all.rar”包含了Nacos的完整源码以及预编译好的软件部分,使得用户可以直接使用而无需...

Global site tag (gtag.js) - Google Analytics