一、Nacos简介:
官方地址奉上:什么是 Nacos,对于Nacos的简介官方说的很清楚,我说一下自己的理解。nacos常被我们称之为注册中心、配置中心。
何为注册中心:就是一个微服务项目中,其中有很多服务共同做一件事情,他们之间如何协作,如何管理,这里可以用到注册中心,当服务(Service)启动时,将自己的一个实例,注册到注册中心上,注册中心可以做服务发现,服务健康监测,心跳机制,正是由于服务启动后都注册到注册中心,所以注册中心也会做负载均衡的策略。
何为配置中心:正常的一个微服务项目都会有一个自己的配置文件(application),在这里可以配置服务的端口号、数据库地址等等。当程序启动时会,加载读取配置文件中的信息。当有多个服务时,我们可以将配置文件(application)放到远端,将项目中每个服务的配置放到一起,统一管理,动态配置等。
常用名词:
命名空间
用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。
配置集 ID
Nacos 中的某个配置集的 ID。配置集 ID 是组织划分配置的维度之一。Data ID 通常用于组织划分系统的配置集。一个系统或者应用可以包含多个配置集,每个配置集都可以被一个有意义的名称标识。Data ID 通常采用类 Java 包(如 com.taobao.tc.refund.log.level)的命名规则保证全局唯一性。此命名规则非强制。
服务名
服务提供的标识,通过该标识可以唯一确定其指代的服务。
服务注册中心
存储服务实例和服务负载均衡策略的数据库。
服务发现
在计算机网络上,(通常使用服务名)对服务下的实例的地址和元数据进行探测,并以预先定义的接口提供给客户端进行查询。
二、配置过程
1.首先在nacos上创建一个新的命名空间
名称可以按照大家默认的规范(项目名—环境),例如video-dev,video-test,video-prod
2.配置列表选中新建的命名空间,添加配置项
可将本地的配置文件,粘贴到配置内容中,格式可选yaml,Data ID建议起名为video.yml(服务名.yml)
3.在工程POM中引入依赖,添加bootstrap.yml文件(将原来的application文件删掉)
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>2.1.0.RELEASE</spring.cloud.version>
</properties>
<dependencies>
<!-- nacos服务注册/发现-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${spring.cloud.version}</version>
</dependency>
<!--nacos配置中心来做配置管理-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${spring.cloud.version}</version>
</dependency>
<dependencies>