SpringCloudAlibaba Nacos服务注册与发现

SpringCloudAlibaba Nacos服务注册与发现

一.Nacos安装

nacous下载地址:https://github.com/alibaba/nacos/releases,我用的是最新的1.3.1

下载完解压,进入bin目录下,cmd结尾的是windows的,sh结尾的是linux和mac的启动和关闭器

下面第二张图就代表启动成功了。单例的~后面会介绍集群Cluster模式

在这里插入图片描述

启动成功后,进入这个网页http://127.0.0.1:8848/nacos/#/login,nacos默认端口8488,可以在配置文件application.properties中修改。默认密码都是nacos

在这里插入图片描述

输入密码后就,进入下面的页面~

在这里插入图片描述

二.创建工程,将注册服务到Nacos

1.引入如下依赖

注意:spring-cloud-alibaba-dependencies 依赖在2.1.0版本开始groupid已经变成了com.alibaba.cloud,不要再选择org的了。还有import记得添加好,不然会can‘t resolve xxxxid。

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

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

2.配置文件配置如下

在这里插入图片描述

3.服务启动后,查看后台服务注册列表

这里可以看到我们的服务已经注册成功了。

在这里插入图片描述

4.查看下 ’详情‘

在这里插入图片描述

服务名是我们自己注册的,分组默认就是DEFAULT_GROUP,服务路由类型默认是none,常规项目,这两个就这样配置就可以了。

阈值:0~1之间。健康实例/全部实例。当这个比例小于这个阈值的时候,就把所有的实例(包括健康的,也有不健康的)全部返回给消费者。正常情况下,nacos只会将健康实例返回给消费者。

在 ‘集群’ 这个模块,我们可以看到 ’临时实例‘为true,这是在nacos中有临时实例和持久实例。临时实例:nacos主动检测,如果一定时间没有发送心跳,就认为是不健康实例了。持久实例:不做健康检查。springcloud或dubbo都是临时实例。

下线‘:我们可以看到后面还有的操作中有’下线‘操作,这个下线后,我们的服务依然还在启动,只是消费者拉取信息的时候,拉取不到它了。

三.Nacos数据持久化到MySQL

1.创建nacos_config数据库,将conf目录下nacos-mysql.sql导入此数据库。
在这里插入图片描述

2.在application.properties设置连接如下。

#*************** Config Module Related Configurations ***************#
### If user MySQL as datasource:
spring.datasource.platform=mysql

### Count of DB:
db.num=1

### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456

在这里插入图片描述

四.Nacos集群模式

1.复制我们的单例Nacos,分别命名nacos01,nacos02,nacos03

在这里插入图片描述

2.修改配置文件application.properties的端口

nacos01:端口为8848,指定ip 127.0.0.1

nacos02:端口为8849,指定ip 127.0.0.1

nacos03:端口为8850,指定ip 127.0.0.1

下图为nacos02 中application.properties的修改内容:

在这里插入图片描述

3.创建cluster.conf

这个创建很简单在conf文件目录下,nacos已经给我提供了模板就是cluster.conf.example文件,我们复制文件,修改文件名称为cluster.conf,将我们的节点ip都添加进去。每个nacos节点都做一份cluster.conf。

文件内容编辑为如下图所示:

在这里插入图片描述

4.启动

  1. 如果是Linux或者Mac系统,配置到这里就可以了,执行sh startup.sh -m cluster命令,以集群的模式启动。启动效果如下图所示:

在这里插入图片描述

  1. 如果是windows的话,需要修改每个节点的startup.cmd文件,将下面的if else的内容互换一下就可以了。然后直接点击每个nacos节点下startup.cmd启动就可以了。

在这里插入图片描述

启动后的效果图如下:

在这里插入图片描述

5.查看节点元数据

这里8848为leader,8849为follower,8850也为follower。

他的主从是自己选举的,你们可以尝试下,将8848停掉~后出现新的leader

在这里插入图片描述

五.Nacos自动配置

nacos相当于eureka+config+bus。

nacos不需要github之类的,可以将配置文件放在nacos目录下。

自动配置剩下的内容晚点更新~

猜你喜欢

转载自blog.csdn.net/weixin_44969687/article/details/107112807