59、微服务保姆教程(二)Nacos--- 微服务 注册中心 + 配置中心

发布于:2025-05-01 ⋅ 阅读:(60) ⋅ 点赞:(0)

Nacos— 微服务 注册中心 + 配置中心

一.什么是Nacos?

Nacos是阿里的一个开源产品,是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。

Nacos核心定位是“一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台”,也就是我们的注册中心和配置中心。

项目地址:https://nacos.io/zh-cn/

二.主流注册中心对比

目前SpringCloud第二代也就是SpringCloudAlibaba用Nacos较多。

在这里插入图片描述

三. Nacos的安装

3.1下载地址:

https://github.com/alibaba/nacos/releases/tag/1.4.1

https://github.com/alibaba/nacos/releases/tag/1.4.2

3.2 启动服务

nacos默认是支持集群模式的,如果不指定单机或集群模式,直接点击startup.cmd进行启动会报错。指定单机模式来启动有两种方法:

方法1:

在命令窗口,进入bin目录,执行startup.cmd -m standalone,这句话的意思是以单机模式启动nacos,

在这里插入图片描述

方法2:

修改startup.cmd文件,将set MODE中的cluster改为standalone。

在这里插入图片描述

再双击startup.cmd文件,即可启动.

3.3 访问

http://localhost:8848/nacos/index.html

用户名和密码默认都是nacos

在这里插入图片描述

四 外部mysql数据库支持

Nacos作为注册中心和配置中心。其注册中心相关信息存在内存中,配置中心存在数据库中。

而单机模式时nacos默认使用嵌入式数据库实现数据的存储,若想使用外部mysql存储nacos数据,需要进行以下步骤:

4.1新建数据库nacos

注意nacos1.4.1和nacos1.4.2版本需要用到Mysql数据库5.6及以上,版本不够的先升级一下。

4.2 添加表

表文件已经存在,在nacos的conf目录下

在这里插入图片描述

将sql文件内容复制到nacos数据库下运行

在这里插入图片描述

4.3 配置数据源

修改conf下的application.properties文件,增加支持mysql数据源配置(目前只支持 mysql),添加mysql数据源的url、用户名和密码。

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user.0=root
db.password.0=root

4.4 测试

重启服务以后,会发现使用的是扩展的数据库

在这里插入图片描述

五.Nacos的使用—服务注册中心

5.1 服务注册

1 创建父工程,指定版本号.

SpringBoot,SpringCloud,SpringCloud Alibaba 也有对应的版本关系,所以需要先确定版本。

版本对应关系参考网站:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

在这里插入图片描述

在这里插入图片描述

<dependencyManagement>
        <dependencies>

            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2020.0.1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2021.1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>

2 创建服务SEARCH

方式跟Eureka类似,创建子工程,添加Nacos需要的jar包。

<!-- 实现服务的注册与发现-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>


<dependency>
    <groupId>org.springframework.boot</groupId>
    <arti

网站公告

今日签到

点亮在社区的每一天
去签到