Nacos 1.1.4 发布,业界率先支持 Istio MCP 协议
发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,Nacos是阿里巴巴开源的服务发现与配置管理项目,本次发布的1.1.4版本,主要带来的是与Istio的对接功能,使用的是Istio最新的MCP协议。本文将介绍包括这个功能在内的新版本发布的功能。升级指
千家信息网最后更新 2024年11月22日Nacos 1.1.4 发布,业界率先支持 Istio MCP 协议Nacos是阿里巴巴开源的服务发现与配置管理项目,本次发布的1.1.4版本,主要带来的是与Istio的对接功能,使用的是Istio最新的MCP协议。本文将介绍包括这个功能在内的新版本发布的功能。
图1 Pilot的最新设计概念图 虽然在设计图中,Pilot后端的MCP Server已经有了Consul、Eureka等,但是这些项目目前都没有官方支持的MCP Server。Nacos是目前首个官方支持Istio MCP协议的项目。 关于MCP协议的设计,可以参考Istio的 文档。Nacos实现的MCP Server,目前使用的是单个服务编号,全量服务推送的模式,因为目前Pilot还不支持增量的服务数据推送(Nacos 1.1.4发布之后,Pilot已经支持了endpoint级别的增量推送,Nacos也会在下个版本支持)。实现的逻辑就是启动一个gRPC Server来进行MCP数据的传输,代码可以参 这里。 图2 Nacos MCP Server架构 使用Nacos MCP Server的方式如下: 1、下载最新的Nacos 1.1.4安装包,解压; 2、配置application.properties,然后重启Nacos;
原文链接 本文为云栖社区原创内容,未经允许不得转载
升级指南
服务端
0.8.0及以上版本:- 解压安装包后替换{nacos.home}/target/nacos-server.jar
- 逐台重启Nacos Server即可
客户端
替换pom依赖即可。支持Istio MCP协议
这是本次版本最大的更新,主要是实现了Nacos服务数据往Istio下发的功能,也是目前业界所有注册中心里面第一个由官方提供的MCP协议对接版本。Pilot最新的设计中,是使用MCP协议来与所有后端的数据源进行交互的。这样做的好处是可以解耦所有扩展组件的代码,Pilot保持轻量的逻辑,在代码质量、组件稳定性及扩展性方面都大幅提升。我们可以看一下Pilot官方提供的Pilot设计图,地址详情参考 这里。图1 Pilot的最新设计概念图 虽然在设计图中,Pilot后端的MCP Server已经有了Consul、Eureka等,但是这些项目目前都没有官方支持的MCP Server。Nacos是目前首个官方支持Istio MCP协议的项目。 关于MCP协议的设计,可以参考Istio的 文档。Nacos实现的MCP Server,目前使用的是单个服务编号,全量服务推送的模式,因为目前Pilot还不支持增量的服务数据推送(Nacos 1.1.4发布之后,Pilot已经支持了endpoint级别的增量推送,Nacos也会在下个版本支持)。实现的逻辑就是启动一个gRPC Server来进行MCP数据的传输,代码可以参 这里。 图2 Nacos MCP Server架构 使用Nacos MCP Server的方式如下: 1、下载最新的Nacos 1.1.4安装包,解压; 2、配置application.properties,然后重启Nacos;
nacos.istio.mcp.server.enabled=true注意:如果Nacos是集群部署,则只需要配置一台Server启动MCP Server即可,因为每台Nacos Server的数 据都是全量的。同时Nacos MCP Server使用的端口是18848,请注意端口是否冲突; 3、配置Pilot使用Nacos MCP Server:
configSources-- address: x.x.x.x:188484、重启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 HashMapNacos在这个版本也有一些关于代码质量上的优化更新,具体可以参考1.1.4版本 issue列表。());instance.getMetadata().put(PreservedMetadataKeys.INSTANCE_ID_GENERATOR, Constants.SNOWFLAKE_INSTANCE_ID_GENERATOR);
如何共建
为了实现这一目标,你需要积极参与Nacos社区。如果您在文档中发现拼写错误,在代码中发现错误,或想要新功能或想要提供建议,您可以在GitHub上 创建一个issues。 如果您想开始着手,可以选择github仓库中有以下标签的issues。 good first issue:对于新手来说是非常好的入门issues。 contribution welcome:非常需要解决的问题和非常重要的模块,但目前缺少贡献者,欢迎贡献者来贡献。蓬勃发展的 Nacos 社区
DISS is cheap, show me your hand 比吐槽更重要的是搭把手,参与社区一起发展 Nacos 作为用户关注和加入 Nacos 社区 Nacos 社区正在蓬勃发展,截止到发文为止,Nacos 短短几个月已经有 9 个微信群,其中 7 个已满员,1个QQ群,1个钉钉群,关注 Nacos 的社区人数已经近5000人,在 Nacos 群里跟 "道(基)友" 切磋技术,交流经验,招聘交友,抢抢红包...不亦乐乎。- 作为代码贡献者加入 Nacos 社区
原文链接 本文为云栖社区原创内容,未经允许不得转载
版本
服务
代码
社区
支持
贡献
功能
发展
设计
配置
官方
数据
贡献者
客户
客户端
项目
参考
推送
生成
重要
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
北京冬奥会网络安全唯一供应商
计算机软件开发前景
网络安全法专章规定
期刊网络安全的基础知识
网络安全与linux哪个好
并在工程数据库建立楼层表
udp采用客户服务器
数据库原理与应用四
主dns服务器配置与管理方法
分析计算机网络安全技术
iis服务器部署html文件
默认管理mysql数据库用户是
杭州岳宸网络技术有限公司
软件开发商的工作内容
我的世界好一点的生存服务器
网络安全的使用性
电视芯片软件开发技术
高职计算机网络技术课程标准
asm 数据库兼容
消费中金拉卡拉网络技术
网络安全策略动态编排
360中粮集团网络安全
浪潮服务器操作系统的开发单位
工业网络技术工资
灿哥的服务器介绍
思科服务器的代码是什么
软件开发商的工作内容
实况2021手游数据库
云教育专业技术人员网络安全
电视芯片软件开发技术