点击上方蓝色“程序猿DD”,选择“设为星标”

回复“资源”获取独家整理的学习资料!

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?spm=a2c4e.11153940.0.0.2a231658dsvWGP&url=https%3A%2F%2Fdocs.google.com%2Fdocument%2Fd%2F1S5ygkxR1alNI8cWGG4O4iV8zp8dA6Oc23zQCvFxr83U%2Fedit%23heading%3Dh.k34grc1as8vr
图1 Pilot的最新设计概念图
虽然在设计图中, Pilot 后端的 MCP Server 已经有了 Consul、Eureka 等,但是这些项目目前都没有官方支持的 MCP Server 。Nacos 是目前首个官方支持 Istio MCP 协议的项目。
关于 MCP 协议的设计,可参考 Istio 的文档:
https://yq.aliyun.com/go/articleRenderRedirect?spm=a2c4e.11153940.0.0.2a231658dsvWGP&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?spm=a2c4e.11153940.0.0.2a231658dsvWGP&url=https%3A%2F%2Fgithub.com%2Falibaba%2Fnacos%2Ftree%2Fdevelop%2Fistio
图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:18848
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);
Nacos 在这个版本也有一些关于代码质量上的优化更新,具体可以参考 1.1.4 版本 issue 列表:
https://yq.aliyun.com/go/articleRenderRedirect?spm=a2c4e.11153940.0.0.2a231658dsvWGP&url=https%3A%2F%2Fgithub.com%2Falibaba%2Fnacos%2Fissues%3Fq%3Dis%253Aissue%2Bmilestone%253A1.1.4

如何共建


为了实现这一目标,你需要积极参与 Nacos 社区。如果您在文档中发现拼写错误,在代码中发现错误,或想要新功能或想要提供建议,您可以在 GitHub 上创建一个 issues 。
如果您想开始着手,可以选择 github 仓库中有以下标签的 issues 。
good first issue :对于新手来说是非常好的入门 issues ,详情参考:
https://yq.aliyun.com/go/articleRenderRedirect?spm=a2c4e.11153940.0.0.2a231658dsvWGP&url=https%3A%2F%2Fgithub.com%2Falibaba%2Fnacos%2Flabels%2Fgood%2520first%2520issue
contribution welcome :非常需要解决的问题和非常重要的模块,但目前缺少贡献者,欢迎贡献者来贡献,详情参考:
https://yq.aliyun.com/go/articleRenderRedirect?spm=a2c4e.11153940.0.0.2a231658dsvWGP&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 短短几个月已经有 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 等。

新人时刻 - "什么是 Nacos ?"


还不知道什么是Nacos? 没关系,在 GitHub 上 star 一下跟程序猿兄弟打个招呼吧!!
Nacos  是阿里巴巴于 2018 年 7 月份新开源的项目, Nacos 的主要愿景是期望通过提供易用的 动态服务发现、服务配置管理、服务共享与管理 的基础设施,帮助用户在云原生时代更好的构建、交付、管理自己的微服务平台。

GitHub 项目地址在这里:
https://github.com/alibaba/nacos?spm=a2c4e.10696291.0.0.7caa19a4ZPcpSf
下期预告: Nacos 的下个版本是1.2.0版本,将会支持社区广泛关注的权限控制功能,敬请期待。

本文通过OpenWrite的免费Markdown转换工具发布

留言交流不过瘾

关注我,回复“加群”加入各种主题讨论群

Nacos 1.1.4 发布,业界率先支持 Istio MCP 协议相关推荐

  1. 业界率先支持 MCP-OVER-XDS 协议,Nacos 2.0.1 + 1.4.2 Release 正式发布

    来源 | 阿里巴巴云原生公众号 ​ Nacos 是阿里巴巴开源的服务发现与配置管理项目,本次同时发布两个版本: ​ 发布 2.0.1 版本,主要致力于支持 MCP-OVER-XDS 协议,解决 Nac ...

  2. 国产AI框架再进化!百度Paddle Lite发布:率先支持华为NPU在线编译,全新架构更多硬件支持...

    乾明 边策 发自 凹非寺  量子位 报道 | 公众号 QbitAI 国产AI框架飞桨刚刚带来新进化:Paddle Lite正式发布! 高扩展.高性能.轻量化,还是首个支持华为NPU在线编译的深度学习端 ...

  3. caffe不支持relu6_国产AI框架再进化!百度Paddle Lite发布:率先支持华为NPU在线编译,全新架构更多硬件支持...

    乾明 边策 发自 凹非寺  量子位 报道 | 公众号 QbitAI 国产AI框架飞桨刚刚带来新进化:Paddle Lite正式发布! 高扩展.高性能.轻量化,还是首个支持华为NPU在线编译的深度学习端 ...

  4. android 21什么手机,官宣:安卓10已发布!21款手机已适配,小米华为率先支持

    原标题:官宣:安卓10已发布!21款手机已适配,小米华为率先支持 随着今天凌晨谷歌 I/O 大会的召开,Android Q 也就是安卓10正式官宣,新版的安卓10加入了诸多新手势,从 Home 键设计 ...

  5. 【云周刊】第175期:终于来了!重磅发布:阿里云负载均衡SLB率先支持IPv6!

    本期头条 终于来了!重磅发布:阿里云负载均衡SLB率先支持IPv6! IPv6的设计初衷是用以解决IPv4地址枯竭问题,同时对IPv4进行大量改进,并最终取代IPv4.然而由于NAT等技术的广泛应用, ...

  6. mipi协议_Cadence发布业界首款面向多协议PHY的验证IP产品

    Cadence发布业界首款面向多协议PHY的VIP产品 Cadence全新PHY VIP支持实现PCIe 5.0,USB3/4,DDR5,LPDDR5,HBM及MIPI CSI-2和DSI 2.0等复 ...

  7. c1reportviewer html,新版本Wijmo中的ReportViewer发布移动端支持

    原标题:新版本Wijmo中的ReportViewer发布移动端支持 Wijmo是一款使用Type编写的新一代Java/HTML5控件集.它秉承触控优先的设计理念,在全球率先支持AngularJS,并提 ...

  8. FL Studio21.0.0中文版发布更新下载支持简体中文版

    FL Studio 21.0.0官方中文版重磅发布纯正简体中文支持,更快捷的音频剪辑及素材管理器,多样主题随心换!Mac版新增对苹果M2/1家族芯片原生支持. 更新版本:21.0.0 支持语言:简体中 ...

  9. 澜起科技发布业界首款DDR5第三子代寄存时钟驱动器工程样片

    上海-2022年12月1日,澜起科技宣布在业界率先推出DDR5第三子代寄存时钟驱动器(简称RCD或DDR5 RCD03)工程样片,并已向业界主流内存厂商送样,该产品将用于新一代服务器内存模组. 澜起科 ...

最新文章

  1. LLVM Backend技术
  2. 【以太坊】深入理解智能合约(合约调合约)
  3. PowerDesign的简单使用方法
  4. Shell中的if判断
  5. linux系统无root权限lua库安装,liunx系统中安装lua以及torch
  6. MySQL.Linux.安装
  7. Linux中zsh插件,ubuntu / zsh shell / oh-my-zsh / 常用插件
  8. 为什么excel图片会变成代码_会EXCEL便可定制自己的办公管理软件(超简单,无代码)...
  9. C#学习基础---BrowsableAttribute.Browsable属性
  10. 新版office365介绍
  11. 飞阳物联平台,智能开关2.0版本支持凌动开关
  12. 设置word中第一页不显示页码,第二页页码从1开始
  13. 台式WIN7和os x yosemite 10.10.1懒人版双系统安装教程
  14. 科技爱好者周刊(第 108 期):阵地战与奇袭战
  15. 简单的邮箱格式校验方式
  16. 乌镇互联网大会上世界大佬点赞中国创新,山寨帽子终于摘下?
  17. 自制Darknet Yolo目标快速标注工具
  18. 1407 排名靠前的旅行者
  19. Use history mode for router? Vue-router 中hash模式和history模式的区别
  20. Windows安装Dlib库失败解决

热门文章

  1. dnslog 在 sql注入中的应用
  2. xhr XMLHttpRequest 简介
  3. 分析和解密已加密的路由器固件
  4. linux shell 合并文本
  5. linux history 命令 shell历史记录显示 HISTSIZE
  6. shell 数组排序
  7. qemu使用实例和常用参数
  8. 在Ubuntu服务器上使用python3+selenium模块
  9. mysql 生产实践_mysql-主从复制
  10. Linux环境安装canvas,npm install canvas简明指南