MCPcopy
hub / github.com/alibaba/nacos

github.com/alibaba/nacos @3.2.2 sqlite

repository ↗ · DeepWiki ↗ · release 3.2.2 ↗
119,122 symbols 559,987 edges 5,251 files 8,183 documented · 7%
README

Nacos: Dynamic Naming and Configuration Service

Gitter License CI codecov Ask DeepWiki


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.

You can also read this online eBook from the NACOS ARCHITECTURE & PRINCIPLES.

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:
    • users-nacos@googlegroups.com: Nacos usage general discussion.
    • dev-nacos@googlegroups.com: Nacos developer discussion (APIs, feature design, etc).
    • commits-nacos@googlegroups.com: Commits notice, very high frequency.
  • Join us from DingDing(Group 1: 21708933(full), Group 2: 30438813(full), Group 3: 31222241(full), Group 4: 12810027056).

DingDing Group QR Code

DingDing MCP Group QR Code

WeChat Group QR Code

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

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研究所 凤凰网-汽车
中化信息 一点车 明传无线 妙优车
蜂巢 华存数据 数云 广通软件
菜菜 科蓝公司 浩鲸 未名天日语
金联创 同窗链 顺能 百世快递
汽车之家 鲸打卡 时代光华<

Extension points exported contracts — how you extend this code

NamingClientProxy (Interface)
Naming Client Proxy. @author xiweng.yy [6 implementers]
client/src/main/java/com/alibaba/nacos/client/naming/remote/NamingClientProxy.java
ApiGenerator (Interface)
This interface is used to generator mcp resources or xds data. @author special.fy [8 implementers]
istio/src/main/java/com/alibaba/nacos/istio/api/ApiGenerator.java
ControlConfigsInitializer (Interface)
control plugin configs initializer. @author shiyiyue [29 implementers]
plugin/control/src/main/java/com/alibaba/nacos/plugin/control/configs/ControlConfigsInitializer.java
AuthPluginService (Interface)
Auth service. @author Wuyfee @author xiweng.yy [9 implementers]
plugin/auth/src/main/java/com/alibaba/nacos/plugin/auth/spi/server/AuthPluginService.java
ConfigInfoGrayMapper (Interface)
The config gray info mapper. @author rong [6 implementers]
plugin/datasource/src/main/java/com/alibaba/nacos/plugin/datasource/mapper/ConfigInfoGrayMapper.java
AiResourceImportService (Interface)
AI resource import service SPI. Implementations own only external source discovery and conversion to import artifact [10 …
plugin/ai/src/main/java/com/alibaba/nacos/plugin/ai/importer/spi/AiResourceImportService.java
EncryptionPluginService (Interface)
Encryption and decryption spi. @author lixiaoshuang [8 implementers]
plugin/encryption/src/main/java/com/alibaba/nacos/plugin/encryption/spi/EncryptionPluginService.java
HealthHandler (Interface)
Interface for handling health check operations. @author zhangyukun [8 implementers]
console/src/main/java/com/alibaba/nacos/console/handler/HealthHandler.java

Core symbols most depended-on inside this repo

get
called by 11076
api/src/main/java/com/alibaba/nacos/api/remote/RequestFuture.java
push
called by 7910
console/src/main/resources/static/console-ui/js/main.js
eq
called by 6084
plugin/datasource/src/main/java/com/alibaba/nacos/plugin/datasource/mapper/ext/WhereBuilder.java
createElement
called by 4418
console/src/main/resources/static/console-ui/js/main.js
n
called by 3808
console/src/main/resources/static/legacy/js/main.js
call
called by 3732
console/src/main/resources/static/legacy/js/main.js
map
called by 2843
console/src/main/resources/static/console-ui/js/main.js
contains
called by 2760
naming/src/main/java/com/alibaba/nacos/naming/core/v2/client/manager/ClientManager.java

Shape

Method 67,059
Function 36,620
Class 14,809
Interface 550
Enum 84

Languages

TypeScript68%
Java32%

Modules by API surface

console/src/main/resources/static/console-ui/js/main.js17,289 symbols
console/src/main/resources/static/next/js/vendor-monaco.js16,358 symbols
console/src/main/resources/static/next/assets/ts.worker-BH9nVgjN.js8,898 symbols
console/src/main/resources/static/console-ui/assets/ts.worker-BH9nVgjN.js8,898 symbols
console/src/main/resources/static/next/assets/css.worker-DBVD8oXr.js2,226 symbols
console/src/main/resources/static/console-ui/assets/css.worker-DBVD8oXr.js2,226 symbols
console/src/main/resources/static/next/js/vendor-markdown.js1,901 symbols
console/src/main/resources/static/console-ui/js/skill-store-B0fRw9Y3.js1,889 symbols
console/src/main/resources/static/console-ui/js/skill-store-AiGwKeW3.js1,889 symbols
console/src/main/resources/static/next/assets/json.worker-BoL8UZqY.js1,410 symbols
console/src/main/resources/static/console-ui/assets/json.worker-BoL8UZqY.js1,410 symbols
console/src/main/resources/static/next/assets/html.worker-CwpTb9lJ.js1,309 symbols

Dependencies from manifests, versioned

${project.groupId}:default-auth-plugin
${project.groupId}:nacos-address
${project.groupId}:nacos-ai-plugin
${project.groupId}:nacos-api
${project.groupId}:nacos-auth
${project.groupId}:nacos-auth-plugin
${project.groupId}:nacos-bootstrap
${project.groupId}:nacos-client
${project.groupId}:nacos-cmdb
${project.groupId}:nacos-common
${project.groupId}:nacos-config
${project.groupId}:nacos-consistency

Datastores touched

(mysql)Database · 1 repos
nacosDatabase · 1 repos
nacos_config_testDatabase · 1 repos
nacos_devtestDatabase · 1 repos
nacosDatabase · 1 repos

For agents

$ claude mcp add nacos \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact