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.
It is super easy to get started with your first project.
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.
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
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.
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.
Contributors are welcomed to join Nacos project. Please check CONTRIBUTING about how to contribute to this project.
- Take a look at issues with tags marked
good first issue
orcontribution 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.
- 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.
Nacos 灰度原理
- Nacos 的灰度发布原理其实并不复杂, 本质就如同下面这张流程图.
- 具体的使用方法, 如果使用的是自建的社区 Nacos, 可以访问 http://ip:port/nacos 进入控制台, 在配置管理的编辑页面进行配置灰度发布, 如下图.