我也可以做一个类比,Nacos 相对于微服务的地位,就跟 Etcd 相对 K8s 地位是一样的。

2.0 架构升级

=============================================================================

Q:Nacos 2.0 服务发现、配置管理性能提升 10 倍具体是怎么做到的,具体是哪些场景,测试方式是什么?背后对应的是哪些技术架构的升级

A:18 年开源的时候考虑到简单易用,我们基于内部产品内核做了一些取舍,如通信协议改成了 http 模式,这样简单,多语言容易实现,但是短链接确实性能弱了一些。

服务模型上我们有持久化和非持久化两种模式,开源的时候我们考虑持久化模式可以做更多的服务治理能力,但是发展一段时间够发现外面主流场景都是非持久化服务,但是也为性能问题埋了一些坑,主要模型不太匹配,当然我们现在做了很好的抽象和统一才能比较好的解决这个问题。对于 Dubbo 和 Spring-cloud-alibaba 这种最常规的非持久化服务性能提升最明显。

测试方式主要是针对服务和配置的关键的使用场景构建了几个典型的压测模型进行压测。

核心升级了通信协议、一致性模型、架构分层和抽象。

Q:这次升级到 2.0 过程中有没有遇到一些技术难题,是怎么解决的

A

  • 长连接协议选型:我们内部有一个私有长链接协议,市场上有 gRPC/Rsocket 两个主流选择,我们为了兼容必须做好扩展抽象,为了多语言容易实现和集成我们也做了很多压测验证。最终选择了 gRPC。从模型上看 Rsocket 的推模型对于 Nacos 更合适,在生态和多语言支持上 gRPC 更合适,综合平衡我们选择了 gRPC,并且做好扩展,以便后续有更好的选择。

  • 服务一致性模型:Nacos 底层服务分为持久化服务和非持久化服务,在一致性模式和存储方式上有比较大差别,经过漫长时间打磨,我们把模型做好了抽象和融合,把每个场景性能都发挥到极致。

  • 无缝升级方案:一般开源产品协议的跨代升级基本都是不考虑兼容的,但是由于 Nacos 有广泛用户基础,因此我们还是消耗了巨大的精力做好兼容工作,以便让所有用户能够升级享受到这些红利。

Q:听说阿里内部已经有了百万实例的案例,具体是指什么,可以详细介绍下吗

A:2020 年面对云原生大的趋势和阿里内部实例规模突破百万的大背景下,我们发起了中间件 4.0 项目,核心解决扩展性和标准化问题。实例指的是微服务实例节点,微服务实例节点。对于 Nacos 模型来说,关键性能指标一个是实例规模(业务发布启动写频繁),一个是单实例注册的服务规模(需要维持心跳消耗内存和网络),后续我们可以找一个单独机会,我详细给大家分享一下阿里百万实例软负载的实践。

6.png

2020 年内部 KO,中间件 4.0 开启云原生中间件时代

Q:Nacos 在阿里内外部的落地情况如何?可以对比介绍下吗

A:目前 Nacos 已经完成了自研、开源、商业化三位一体的建设,阿里内部的钉钉、考拉、饿了么、优酷等业务域已经全部采用云产品 MSE 中的 Nacos 服务,并且与阿里和云原生的技术栈无缝整合。

发展规划及商业化

=============================================================================

Q:Nacos 2.X 规划中,很多关于插件的方面的优化,这样设计的原因和目标是什么

A:随着 Nacos 代码库日益庞大,之前耦合比较紧密的代码不方便扩展,用户定制性有比较高,又提交不到社区,如安全功能,因此通过扩展机制提升用户根据自己场景定制能力,当然也能更好的跟各个生态集成。

Q:官宣 2.0 版本时提到,Nacos 以后会向 Mesh 化方向深入探索。这里的 Mesh 是指 Service Mesh 吗,有什么技术难点,具体要做哪些事情

A:是的,由于 Service Mesh 通过 Sidecar 模式能比较好的解决多语言问题,因此我们期望通过集成主流 Sidecar 技术完成对 Nacos 多语言生态和云原生生态的整合。

目前核心是 Istio 目前的性能指标挑战还很大,Sidecar 目前自动灰度升级是一个挑战,对于中小公司目前落地风险可控。

Q:Nacos 作为一款产品来看,其发展目标是偏向为阿里业务做好支撑,还是希望能发展更多外部用户?如果是后者,有没有大致的商业计划

A:从 2020 年开始,阿里云就提出了“三位一体”理念,即将“自研技术”、“开源项目”、“商业产品”形成统一的技术体系,最大化技术的价值。通过开源扩大生态,通过阿里集团场景锻造高性能和高可用能力,通过云产品构建产品化能力。

2020 年 1 月,我们就发布了 Nacos 有对应的商业化产品-微服务引擎(Micro Service Engine)简称 MSE,并对外提供商业化服务。它是一个面向业界主流开源微服务生态的一站式微服务平台, 提供注册中心、配置中心全托管(兼容 Nacos/ZooKeeper/Eureka),网关(兼容 Zuul/Kong/Spring Cloud Gateway),和无侵入的开源增强服务治理能。

2020 年双 11 ,我们就全面使用 EDAS、Dubbo、RocketMQ、AHAS、ARMS、MSE、PTS 等阿里云云产品来支撑双 11,做到了和客户在同一架“飞机”上。可以说阿里巴巴集团是阿里云的最大的公有云用户,目前已经有大量业务已经跑在阿里云 MSE 托管的 Nacos 上面了。预计 2021 年双十一阿里集团将 100% 跑到我们公有云产品上面。目前阿里云上已有数万企业采用了我们商业化产品 MSE 中托管的 Nacos,而且我们会加大对此投入,以便更好的服务阿里云用户。

最后,我们希望广大的开发者可以通过 Nacos 的开源,享受到阿里微服务体系的技术红利;另外通过阿里云的规模效应,企业用户可以通过 Nacos 商业化产品 MSE,获得比开源自建更稳定、成本更经济的产品红利。

Nacos 开源社区

===============================================================================

Q:Nacos 2.0 发布之后开发者的热烈反响,为什么,怎么做开发者维护的

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

最后

腾讯T3大牛总结的500页MySQL实战笔记意外爆火,P8看了直呼内行

腾讯T3大牛总结的500页MySQL实战笔记意外爆火,P8看了直呼内行

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

3231)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-fVqNC0W1-1712754603231)]

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐