Discover, configure, and manage your microservices with Alibaba’s new project, Nacos
Alibaba is back with yet another project. Nacos is a dynamic naming and configuration service that provides a service-centered modern application architecture with a microservices or cloud-native approach. Let’s take a look.
The Alibaba team never rests!
Today we take a look at a new Alibaba project named Nacos.
Nacos is a dynamic naming and configuration service and it provides a set of features that aim to help you to realize dynamic service discovery, service configuration, service metadata, and traffic management.
According to its GitHub repo, “service is a first-class citizen in Nacos!” So, as you can imagine, support for multiple types of services is central to this tool.
With no further ado, let’s have a look at Nacos’ main characteristics and functions.
What can you do with Nacos?
As mentioned earlier, service support is a central concept in Nacos and it supports almost any type of service including:
- Kubernetes Service
- gRPC & Dubbo RPC Service
- Spring Cloud RESTful Service
To make it a bit more clear, the following figure represents Nacos’ basic architecture and concepts.
But what exactly can you do with Nacos?
Among others, Nacos offers four key features.
- Service discovery and service health check: Offers support for DNS-based as wells as RPC-based (Dubbo/gRPC) service discovery.
- Dynamic configuration management: Enables you to manage the configuration of all applications and services in a centralized, externalized as well as dynamic manner across multiple environments.
- Dynamic DNS service: By supporting weighted routing, this function makes it easier for you to implement mid-tier load balancing, flexible routing policies, traffic control, and simple DNS resolution services in your production environment within your data center.
- Service governance and metadata management: You can manage all of your services and metadata as a microservices platform builder.
If you are eager to give Nacos a try, make sure you have what you need to get started:
- 64bit OS: Linux/Unix/Mac/Windows supported, Linux/Unix/Mac recommended
- 64bit JDK 1.8+
- Maven 3.2.x+
Check out the ‘quick start‘ guide for all the relevant info.