SpringCloud入门实战(8)-Nacos使用

Nacos是阿里发布的注册中心及配置中心组件,提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。本文主要介绍Nacos结合Spring Cloud的使用,文中使用到的软件版本:Nacos 1.3.2、Spring Boot 2.2.5.RELEASE、Spring Cloud Hoxton.SR3、Java 1.8.0_191。

1、简介

官网地址为:https://nacos.io/zh-cn/docs/what-is-nacos.html,可以查看详细介绍。

1.1、特性

a、服务发现和服务健康监测
b、动态配置服务
c、动态DNS服务
d、服务及其元数据管理

1.2、架构

2、安装

2.1、单机模式

2.1.1、使用嵌入式数据库

下载nacos的安装包(https://github.com/alibaba/nacos/releases),解压,运行

startup.sh -m standalone

2.1.2、使用mysql

单机模式默认使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况;可以使用mysql来保存数据:

a、创建nacos的数据库,并执行nacos-mysql.sql脚本

b、修改conf/application.properties文件,增加支持mysql数据源配置

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=admin
db.password=Root_123!

再以单机模式启动nacos,nacos所有写嵌入式数据库的数据都写到了mysql

2.2、集群模式

2.2.1、部署架构图

http://ip1:port/openAPI 直连ip模式,机器挂则需要修改ip才可以使用。
http://VIP:port/openAPI 挂载VIP模式,直连vip即可,下面挂server真实ip,可读性不好。
http://nacos.com:port/openAPI 域名 + VIP模式,可读性好,而且换ip方便,推荐模式。

2.2.2、配置集群地址

复制conf/cluster.conf.example为conf/cluster.conf,修改其内容为:

10.49.196.10:8848
10.49.196.11:8848
10.49.196.12:8848

2.2.3、配置数据源

2.2.3.1、使用内置数据源

无需进行任何配置

2.2.3.2、使用外置数据源

修改conf/application.properties文件,增加MySQL配置:

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://10.49.196.10:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=admin
db.password=Root_123!

2.2.4、启动

2.2.4.1、使用内置数据源
./startup.sh -p embedded
2.2.4.2、使用外置数据源
./startup.sh

2.3、控制台

http://localhost:8848/nacos

用户名/密码默认为:nacos/nacos

3、SpringCloud中使用Nacos

3.1、作为注册中心

3.1.1、引入依赖

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

3.1.2、增加配置

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 10.49.196.10:8848

如果是集群的话可以用nginx来负载,这边配置代理地址。

3.1.3、启动类增加@EnableDiscoveryClient

启动服务后就可以进行服务的注册和发现,在控制台可以看到已注册的服务:

3.2、作为注册中心

3.2.1、引入依赖

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

3.2.2、增加配置

在resources目录下新建bootstrap.yml文件:

spring:
  cloud:
    nacos:
      config:
        server-addr: 10.49.196.10:8848
        prefix: scdemo-server
        file-extension: yaml
        #group: DEFAULT_GROUP
        #namespace: public

3.2.3、在控制台新建配置

 scdemo-server内容如下:

3.2.4、启动服务

在服务可以获取到在nacos中定义的配置项。

4、配置说明

4.1、application.properties

配置项 说明
nacos.core.auth.enabled 是否开启鉴权
posted @ 2020-09-20 14:00  且行且码  阅读(842)  评论(0编辑  收藏  举报