nacos因为eureka停止更新,而nacos既可以作为注册中心又可以作为配置中心,是个相当不错的代替品.
    介绍
    Nacos是阿里巴巴的开源项目,支持服务发现和服务健康监测、动态配置服务等,相当于Eureka+Spring Cloud Config。Eureka支持支持AP模式,而Nacos支持AP和CP模式两种模式。

    下载:
    文档写作于2022年4月7日 14:23:45
    因为最新的2.10.0BETA下载后在本地运行报错跑不动,所以选择了稳定版本2.0.4
    下载地址
    https://github.com/alibaba/nacos/releases/tag/2.0.4
    下载完解压缩
    image.png
    解压后如图所示
    文件夹介绍
    bin里面是启动和关闭nacos命令文件;
    conf存储的nacos相关的配置文件;
    logs日志信息
    target里有一个springboot的jar包
    打开数据库连接工具
    例如
    image.png
    连接本地或者服务器端mysql数据库
    (前置条件:在此之前应该配置好相关的数据库管理员账号/密码,远程登录服务器应该开启mysql远程登录权限,端口放行等.)
    Nacos
    解压缩之后,在conf目录中会发现存在一个nacos-mysql.sql文件;
    image.png
    (如果公司的团队Leader有其他sql文件,以Leader提供的为准.)
    本地创建mysql数据库nacos(这次采用提供Leader提供的模板命名为zuihou_nacos_121)
    CREATE DATABASE IF NOT EXISTS zuihou_nacos_121 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    image.png
    执行完SQL脚本之后,会创建以上表;

    修改nacos解压目录下的conf/路径下的配置文件application.properties
    将下图中的数据库配置注释放开,同时修改数据库账户和密码;此中的数据库nacos与步骤3中建立的数据库名保持一致;
    image.png
    示例截图
    启动bin文件夹内的cmd指令
    image.png
    (如何在右键菜单里添加cmd快捷指令可以百度,以后会经常用到.)
    输入单机模式启动指令
    startup.cmd -m standalone
    image.png
    image.png
    image.png
    一般出现这些提示就启动成功了.
    然后访问
    http://127.0.0.1:8848/nacos/#/login
    账号和密码都是nacos
    登录
    出现下图管理页面就算成功.
    image.png
    Nacos服务端部署完成,现在来写个demo来测试注册服务.
    使用idea建立一个spring-cloud项目.
    image.png
    image.png
    这里组名和包名随意,毕竟只是测试项目
    image.png
    image.png
    然后在父项目的pom.xml里额外引入阿里巴巴的spring cloud依赖
    注意,springcould.alibaba依赖和spring-boot以及spring-cloud有严格的版本对照依赖关系,我这里用的springboot2.6.7版本,对应的alibaba依赖版本为

    1. <dependency>
    2. <groupId>com.alibaba.cloud</groupId>
    3. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    4. <version>2021.0.1.0</version>
    5. <type>pom</type>
    6. <scope>import</scope>
    7. </dependency>

    该依赖建议放入父级项目的<_dependencyManagement>标签内,作为总版本控制._
    然后导入nacos依赖

    1. <dependency>
    2. <groupId>com.alibaba.cloud</groupId>
    3. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    4. <version>2021.1</version>
    5. </dependency>
    6. <dependency>
    7. <groupId>com.alibaba.cloud</groupId>
    8. <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    9. <version>2021.1</version>
    10. </dependency>

    在项目中为application文件加入@EnableDiscoveryClient注解
    修改子项目的application.properties文件
    添加一下示例属性(可以依照实际需求修改)
    server.port=8081
    #此处修改端口是为了避免多个tomcat冲突.
    spring.application.name=Buybuybuy
    spring.cloud.nacos.discovery.server-addr
    =192.168.2.49:8848
    #这里ip请按照实际需求输入management.endpoints.web.exposure.include=*
    spring.cloud.nacos.username=nacos
    spring.cloud.nacos.password=nacos
    spring.cloud.nacos.discovery.username=nacos
    spring.cloud.nacos.discovery.password=nacos
    spring.cloud.nacos.discovery.namespace=public**
    启动项目,看到注册提示
    image.png
    打开管理中心
    image.png
    发现注册完成.