nacos搭建与使用

一、什么是nacos

1、Nacos简介


Nacos 是 Dynamic Naming and Configuration Service 的首字母缩写。

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

Nacos 的关键特性包括:

服务发现和服务健康监测
动态配置服务
动态 DNS 服务
服务及其元数据管理
使用 Nacos 简化服务发现、配置管理、服务治理及管理的解决方案,让微服务的发现、管理、共享、组合更加容易。

2、Nacos基本概念


Nacos 引入了一些基本的概念,系统性的了解一下这些概念可以帮助您更好的理解和正确的使用 Nacos 产品。 更多概念查看官方文档。

1)命名空间

用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。

Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

2)配置分组

Nacos 中的一组配置集,是组织配置的维度之一。通过一个有意义的字符串(如 Buy 或 Trade )对配置集进行分组,从而区分 Data ID 相同的配置集。当您在 Nacos 上创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP 。

配置分组的常见场景:不同的应用或组件使用了相同的配置类型,如 database_url 配置和 MQ_topic 配置。

3)服务注册中心

存储服务实例和服务负载均衡策略的数据库。

4)元信息

Nacos数据(如配置和服务)描述信息,如服务版本、权重、容灾策略、负载均衡策略、鉴权配置、各种自定义标签 (label),从作用范围来看,分为服务级别的元信息、集群的元信息及实例的元信息。

5)权重

实例级别的配置。权重为浮点数。权重越大,分配给该实例的流量越大。

6)健康检查

以指定方式检查服务下挂载的实例 (Instance) 的健康度,从而确认该实例 (Instance) 是否能提供服务。根据检查结果,实例 (Instance) 会被判断为健康或不健康。对服务发起解析请求时,不健康的实例 (Instance) 不会返回给客户端。

3、Nacos基本架构及概念


图来自官方:


1)服务 (Service):

服务是指一个或一组软件功能(例如特定信息的检索或一组操作的执行),其目的是不同的客户端可以为不同的目的重用(例如通过跨进程的网络调用)。

Nacos 支持主流的服务生态,比如:Kubernetes Service、gRPC|Dubbo RPC Service 或者 Spring Cloud RESTful Service。

2)服务注册中心 (Service Registry)

服务注册中心,它是服务及其实例和元数据的数据库。

服务实例在启动时注册到服务注册表,并在关闭时注销。服务和路由器的客户端查询服务注册表以查找服务的可用实例。服务注册中心可能会调用服务实例的健康检查 API 来验证它是否能够处理请求。

3)服务元数据 (Service Metadata)

服务元数据是指包括服务端点(endpoints)、服务标签、服务版本号、服务实例权重、路由规则、安全策略等描述服务的数据。

4)服务提供方 (Service Provider)

是指提供可复用和可调用服务的应用方。

5)服务消费方 (Service Consumer)

是指会发起对某个服务调用的应用方。

二、搭建nacos服务

环境:centos(使用docker搭建)

1、拉取镜像

docker pull nacos/nacos-server:1.4.1

2、启动容器

简易版:

docker run --name nacos -e MODE=standalone -p 8848:8848 --privileged=true -e JVM_XMS=100m -e JVM_XMX=100m --restart=always -d nacos/nacos-server:1.4.1

详细版

docker run -it \
-e PREFER_HOST_MODE=121.41.67.36 \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=rm-cn-36z3o4wdi00097o.rwlb.rds.aliyuncs.com \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=rootzxc \
-e MYSQL_SERVICE_PASSWORD=Zxc61415! \
-p 8848:8848 \
--name nacos \
--restart=always \
nacos/nacos-server:1.4.1

三、使用nacos

1、nacos注册中心

1)导入依赖

<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

2)添加配置

spring:
    cloud:
        nacos:
          discovery:
            namespace: dev //命名空间
            group: qxhw-plus //分组名
            server-addr: localhost:8848 //服务地址

2、nacos配置中心

 1)导入依赖

<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

2)添加配置

spring:
      cloud:
      config:
        namespace: dev
        group: qxhw-plus-project
        refresh-enabled: true
        file-extension: yaml
        extension-configs:
          - data-id: content-service-${spring.profiles.active}.yaml
            group: qxhw-plus-project
            refresh: true
        shared-configs:
          - data-id: swagger-${spring.profiles.active}.yaml
            group: qxhw-plus-common
            refresh: true

3)添加配置

地址:localhost:8848/nacos

用户/密码:nacos

  • 15
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值