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设计图,地址详情参考这里。
图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生成算法,样例代码如下:
instanceinstance=newinstance();instance.setip(1.1.1.1);instance.setport(80);//必须设置ephemeral=false,来保证服务端使用的是严格的一致性协议,否则可能会导致生成的instanceid冲突:instance.setehpemeral(false);instance.setmetadata(newhashmap());instance.getmetadata().put(preservedmetadatakeys.instance_id_generator,constants.snowflake_instance_id_generator);nacos在这个版本也有一些关于代码质量上的优化更新,具体可以参考1.1.4版本issue列表。
如何共建
为了实现这一目标,你需要积极参与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 社区
从nacos用户发展而成贡献者顺理成章,而nacos开发团队也确实在日趋壮大,从开始的只有4个代码contributor发展到目前的40多个,1.1.4版本中,参与nacos仓库贡献的开发者有:stackisok,loadchange, ly641921791, ezlippi, rushsky518, universefeeler, nkorange, vettal-wu, beldon等。
原文链接
本文为云栖社区原创内容,未经允许不得转载

数字货币的5个冷钱包介绍
GaN功率级设计的散热注意事项
简单混联电路分析(四款混联电路分析)
全球电信行业可能将会Uber化
减少水表检定误差的策略分析
Nacos 1.1.4 发布,业界率先支持 Istio MCP 协议
MEMS谐振式加速度传感器工作原理
为什么在工业自动化中使用机器视觉?
抢先一步,嵌入式方案定制模式加快产品上市!
生态合作再度升级!昆仑芯已入驻飞桨AI Studio硬件生态专区
解析市场上的指纹识别技术
异步电动机按照转子结构
Zen4 EPYC处理器或将达到96核之巨
如果再不采取应对措施 那苹果或将失去印度这一智能手机消费市场
如何使用FPGA来设计智能网卡(SmartNIC)?
国星光电收购风华芯电 锚定高发展新航道
基于二极管简化电路的设计方案解析
视频监控破解高空抛物难题,安防技术让生活更美好
汉天下发布维权公告:市场上的5124射频功放芯片涉嫌抄袭
深度揭秘工字电感究竟需要测量哪些参数的好坏