杨翊 SionYang

Results 14 issues of 杨翊 SionYang

**Is your feature request related to a problem? Please describe.** Refer to issues like #6295 . After Nacos 2.0, the metadata will be split to two parts, one is saved...

kind/discussion
area/Naming
version/2.x

Our project https://github.com/alibaba/nacos is using `stale` rob to manage and closing expired issue auto. It can work well before. But I found that the rob seems stop working after July....

**Describe the bug** Dubbo 3 中的多端口多协议使用了nacos的batch注册接口,dubbo3中会先进行普通tripple协议的实例注册,随后再进行batch注册。 由于是同一个连接,会进行覆盖注册。 对于连接所处nacos-server,覆盖数据没有问题。但是将这部分数据同步之后,由于distro Handler中的数据处理中的强制转换, 导致handler中处理同步数据失败。 由于数据不一致、distro的verify数据验证会一直失败, 导致这部分数据在数据过期前,会不停的进行同步发起,然后继续失败,直到数据过期(默认3分钟),在数据移除后,下一次的verify会重新获得一次全部数据, 此时的处理会正常,最终数据能保持一致恢复。 ``` // DistroClientDataProcessor private static void processBatchInstanceDistroData(Set syncedService, Client client, ClientSyncData clientSyncData) { BatchInstanceData batchInstanceData = clientSyncData.getBatchInstanceData();...

kind/bug
area/Naming

**Describe the bug** When disable auth and use 2.x client with username and password. The `login` API will be request frequently, and the `login` API high using CPU to do...

kind/bug
plugin

开源之夏是由中科院软件所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。 Nacos将会作为指导组织参加本次的[“开源之夏2023”](https://summer.iscas.ac.cn/) ## 背景 随着Nacos2.0在实时性上的进步,目前Nacos的数据实时性已经可以达到秒级。在这种情况下,大规模的应用场景时,如果某个应用向Nacos订阅了大量的数据,Nacos的秒级数据推送会生成一个数据的脉冲,如果该应用的处理速率跟不上数据的推送速率,使得应用的资源被大量占用,从而导致应用的稳定性问题。此类问题也经常出现于如流式计算系统和消息系统中,比如`Flink`或`rocketMQ`。 为了解决此类问题,需要设计一个数据推送的反压机制,对Nacos的数据推送速率进行一定限制,优先保证应用系统的稳定性;在保证系统的稳定性的基础上,尽可能保证实施性要求。 同时,随着serverless等技术发展,在未来发展场景中,实时性会变的越来越重要,提供反压机制也能够让Nacos在资源充足的情况下,没有负担的进行实时性的进一步加强和提升。 反压机制作为Nacos反脆弱体系中的重要功能,其实现原理**较为复杂**,同学可以提前学习Flink和rocketMQ等现有产品的反压机制实现原理,并参考其实现进行方案设计,但不可以直接照搬或抄袭。 ## 目标 为Nacos设计一个数据推送的反压机制,在客户端处理速度无法满足时,对Nacos的数据推送速率进行一定限制和降低,以优先保证客户端的稳定性。 ## 难度 进阶 ## 导师 邢学超 [email protected] ## 产出要求 - 设计Nacos反压机制的功能方案,并实现功能 - 新增Nacos反压机制功能的使用文档 ## 能力要求 - 熟悉Java编程语言 - 熟悉常见的设计模式...

kind/feature
contribution welcome

开源之夏是由中科院软件所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。 Nacos将会作为指导组织参加本次的[“开源之夏2023”](https://summer.iscas.ac.cn/) ## 背景 Spring boot 前段时间发布了Springboot3, 支持了GraalVM运行方式。 Nacos-client于2.2.1版本也支持了GraalVM编译,并配合Spring-Cloud-Alibaba发布了Springboot3的对应版本。 但是社区中有不少用户并没有使用Spring Cloud,而是依旧使用传统Springboot,而nacos-spring-boot-starter目前并不支持Springboot3,#9997 #9535 。 因此,社区希望nacos-spring-boot-starter进行升级,支持Springboot3,以满足用户的需求,方便用户在Springboot3的同时继续使用Nacos。 ## 目标 在Springboot3下,nacos-spring-boot-starter正常进行动态配置和服务发现功能;同时支持GraalVM编译及运行。 ## 难度 基础 ## 导师 胡俊 [email protected] ## 产出要求 - 升级nacos-spring-boot-starter使其支持Springboot3 - 升级nacos-spring-boot-starter使其支持GraalVM编译及运行...

Summer

Nacos spring boot starter only support some of nacos client properties. But Nacos client support more properties in 2.X version such as `namingPushEmptyProtection` . And spring boot starter can't support...

feature

开源之夏是由中国科学院软件研究所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。 Nacos将会作为指导组织参加本次的[“开源之夏2024”](https://summer-ospp.ac.cn/org/orgdetail/ab188e59-fab8-468f-bc89-bdc2bd8b5e64?lang=zh) ## 背景 [native-image](https://docs.oracle.com/en/graalvm/jdk/21/docs/reference-manual/native-image/) 是Java在jdk17时引入的一个新特性, 它可以将 Java 代码提前编译成二进制文件——一个本地可执行文件。一个本地可执行文件只包含运行时所需的代码,即应用程序类、标准库类、语言运行时以及来自 JDK 的静态链接的本地代码,以提高Java应用的启动和运行效率。 随着spring boot3的成熟和推广,且能够支持Java native-image运行,越来越多的应用开始以native-image的方式进行启动,Nacos社区中也涌现出大量需要Nacos支持native-image运行的支持需求,例如[#9997](https://github.com/alibaba/nacos/issues/9997) ,[#11402](https://github.com/alibaba/nacos/issues/11402)等。 因此Nacos社区希望通过开源之夏,让Naco的Java客户端和服务端,都能够支持native-image,以提高Nacos的启动速度和运行效率,同时满足社区的需求。 ## 目标 让Nacos的Java客户端和服务端,都能够通过native-image的技术启动并稳定运行,以提高Nacos的启动速度和运行效率。 ## 难度 进阶 ## 导师 王建伟 [email protected] ## 产出要求 - Nacos-Java-Client支持native-image的方式启动,例如通过GraalVM,修复Nacos客户端通过native-image的方式启动时的问题。...

Summer

开源之夏是由中国科学院软件研究所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。 Nacos将会作为指导组织参加本次的[“开源之夏2024”](https://summer-ospp.ac.cn/org/orgdetail/ab188e59-fab8-468f-bc89-bdc2bd8b5e64?lang=zh) ## 背景 Nacos 社区在2021的开源之夏中,完成了python sdk 对接 2.0 grpc 核心API,随着AIGC的爆发和应用, 社区对python sdk的依赖和诉求愈来越多,当时适配的python sdk已经较为落后于Java sdk和go sdk的功能。 因此Nacos社区希望通过本次开源之夏课题,将python sdk的功能与java sdk和 go sdk对齐,给社区提供更好的python语言支持。 ## 目标 基于python sdk当前,实现python sdk 相比于 java sdk和go sdk中...

Summer

开源之夏是由中国科学院软件研究所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。 Nacos将会作为指导组织参加本次的[“开源之夏2024”](https://summer-ospp.ac.cn/org/orgdetail/ab188e59-fab8-468f-bc89-bdc2bd8b5e64?lang=zh) ## 背景 Nacos社区自1.2.0版本开始,提供了鉴权功能,用于简单的进行数据的访问控制和错用拦截。随着Nacos的用户快速增加,许多用户提出了诸如“需要控制台鉴权,但client不需要鉴权”、“控制台需要单独部署开启访问控制,引擎部署内网不开鉴权”等类似诉求越发增多,但由于之前的设计中并没有单独为控制台的访问设计API,而是大量复用了OpenAPI,导致Nacos的鉴权功能的开启和关闭会同时影响到Nacos客户端的访问和控制台的访问,无法满足新的用户需求。 因此,Nacos社区希望通过本次开源之夏活动,将Nacos控制台使用的AdminAPI 和客户端使用的openAPI作出拆分,让控制台不再使用openAPI进行引擎数据的访问,同时对两类接口的鉴权通过不同的开关进行独立控制,提供能够满足不同场景开启不同程度的鉴权能力,同时为后续Nacos控制台和Nacos引擎独立部署提供接口基础。 ## 目标 拆分当前Nacos控制台使用的AdminAPI 和客户端使用的openAPI,使得Nacos控制台不再依赖Nacos客户端所使用的openAPI进行访问;同时修改默认的鉴权插件,将两类接口的鉴权流程独立控制。 ## 难度 基础 ## 导师 杨翊 [email protected] ## 产出要求 - 梳理并设计Nacos控制台所需要的所有AdminAPI; - 按照Nacos的API标准,实现上述所有AdminAPI; - 修改Nacos控制台代码,使用上述所有AdminAPI; - 修改Nacos默认鉴权插件,实现AdminAPI和OpenAPI的鉴权独立开关; - 添加AdminAPI的相关文档;...

Summer