Nacos one: the basics

1. What is Nacos

Nacos Alibaba to launch a new open source project, it is easier to build a dynamic cloud-native application service discovery, configuration management and service management platform.

Nacos committed to helping you discover, configure, and micro-management services. Nacos provides a set of simple-to-use set of features that help you quickly realize dynamic service discovery, service configuration, service metadata and traffic management.

Nacos help you more quickly and easily build, deliver and manage micro-service platform. Nacos is to build a "service" as the center of modern application architectures (such as micro-service paradigm, cloud native paradigm) service infrastructure.

Official website: https://nacos.io

The official document: https://nacos.io/zh-cn/docs/quick-start.html

2. Key Features 

  • Service discovery and health monitoring services

Nacos supports DNS and RPC-based service discovery. The service provider uses the native SDK, after OpenAPI, or a stand-alone Agent TODO Registration Service, a service consumer can use the DNS TODO or HTTP & API lookup and discovery services.

Nacos provides real-time health check of the service, to prevent the host or service instance unhealthy send the request. Nacos support the transport layer (PING or TCP) and application layer (e.g., HTTP, MySQL, user-defined) medical examination. For complex cloud environments and network topologies (e.g., VPC, edge network, etc.) and services health check, Nacos agent provides active report mode and server mode detecting two kinds of health checks. Nacos also provides a unified health check dashboard to help you depending on the availability of health status and traffic management services.

  • Dynamic configuration services

Dynamic configuration service allows you to center, Externalization and dynamic way to manage all application environment configuration and service configuration.

Dynamic configuration eliminates the need to re-deploy applications and services when configuration changes, so that configuration management to become more efficient and agile.

Configuration management center so that implement stateless services easier and make the service easier to expand demand elasticity.

Nacos provides a simple and easy to use UI (console sample Demo) helps you manage the configuration of all services and applications. Nacos also provided, including configuration version tracking, canary release, a key client configuration rollback configuration and update status tracking, including a series out of the box configuration management features to help you more safely in a production environment configuration management change and configuration changes to reduce the risks.

  • Dynamic DNS Service

Dynamic DNS service supports the right to re-routing, allowing you to more easily achieve the intermediate layer load balancing, simple DNS resolution service more flexible policy routing, flow control, and network data center. Dynamic DNS service also makes it easier to implement the agreement with DNS-based service discovery to help you eliminate coupling to a private vendor service discovery risk on the API.

Nacos provides some simple DNS APIs TODO help you manage domain names and associated services available IP: lists PORT.

  • Service and metadata management

Nacos gives you all the services and metadata perspective of micro-managing data center from a service platform, including a description of management services, lifecycle services rely on static analysis, state health services, traffic management services, routing and security policy , SLA and the most important metrics statistics service.

............
. 3, Nacos panorama

 

As shown in FIG. Nacos panorama, Nacos seamless support some mainstream OSS Eco, e.g.

4, the basic architecture and concepts

  • Service (Service)

Refers to a service or a set of software features (such as retrieving specific information or perform a set of operations), its purpose is different clients can be reused (for example, by the process of cross-network calls) for different purposes. Nacos support the mainstreaming of ecosystem services, such as Kubernetes Service, gRPC | Dubbo RPC Service or Spring Cloud RESTful Service.

  • Service Registry (Service Registry)

Service registry, it is the service database instance and its metadata. Examples of services registered in the service registry to start, and log off when closed. Examples of available services and routers client queries the service registry to find services. Service registry might be called health check service instance API to verify whether it can process the request.

  • Service metadata (Service Metadata)

Service metadata is meant to include service endpoint (endpoints), service tag, the version number of the service, the service instance weights, data routing rules, security policies and other description of the service

  • Service provider (Service Provider)

It refers to providing reusable and callable services application side

  • Service consumer (Service Consumer)

It means the party will initiate an application for a service call

  • Configuration (Configuration)

Typically separation system development process will need to change some of the parameters, variables managed independently from the code out, in the form of an independent profile. Object is to make a static workpiece or delivery system (e.g. WAR, JAR packages, etc.) a better operating environment and actual physical adaptation. Configuration management is generally included in the process of system deployment, completed by the system administrator or the operation and maintenance personnel this step. Configuration change is one of the effective means to adjust the behavior of the system is running.

  • Configuration Management (Configuration Management)

In the data center, the system in all configurations of editing, storage, distribution, change management, version history management, change and configuration audit and all related activities collectively referred to as configuration management.

  • Name Service (Naming Service)

Provides a distributed system for all objects (Object), entity (Entity) "name" to manage the mapping between the service associated metadata, such as ServiceName -> Endpoints Info, Distributed Lock Name -> Lock Owner / Status Info, DNS Domain name -> IP List, DNS service discovery and service is the name of two big scenes.

  • Configuration Services (Configuration Service)

In the service process or application is running, or to provide dynamic configuration metadata and configuration management service provider.

5, constructs, and deployment startup mode 

 

  • Two kinds of deliverables

Nacos Docker supports standard image (TODO: 0.2 since version) and zip (tar.gz) archive construct.

  • Start mode

Nacos support the registry (Service Registry) and Configuration Center (Config Center) in a merger process will be deployed or two persons separated the two modes of deployment.

  • Free public cloud services model

In addition to your own and start Nacos deploy services in the cloud computing era, Nacos also supports public cloud model, Ali cloud public cloud commercial products (such as ACM, EDAS) will provide free public cloud services Nacos of. We also welcome and support other public cloud providers Nacos public cloud services.
 

There is a problem of 6.Nacos


1. Can not support multiple types of databases, such as: Oracle, PostgreSQL, DB2 and the like 
if the plurality of nodes start Nacos default configuration data coherency problem exists is stored.

To solve this problem, Nacos uses centralized storage to support cluster deployment, currently only supports MySQL storage.

2. do not support encryption
service configuration information, we usually need to encrypt sensitive configuration storage and transmission, ensure data security

3. gRPC does not support service discovery and Thrift
Thrift, gRPC is important to realize in RPC

4. does not support docking Kubernetes in configMap
temporarily can not get through and Kubernetes configuration

The approval does not support the release
configuration release management and control system, reducing failures caused by human error
 

 

Published 136 original articles · won praise 6 · views 1505

Guess you like

Origin blog.csdn.net/weixin_42073629/article/details/104623948