nacos 安装和使用
Nacos 是阿里巴巴开源项目,用于构建微服务应用的服务发现、配置管理和服务管理。
在微服务项目中不同模块之间服务调用时,实现服务注册与发现。
Nacos 使用:
Nacos 是java开发的,依赖 Java 环境来运行
Nacos的下载
https://github.com/alibaba/nacos/releases/download/1.4.3/nacos-server-1.4.3.zip
我的电脑是Windows的,所以我下载了上面版本的压缩版Nacos,因为直接github下载会有点慢,我放到百度云上分享一下,有需要的可以直接提取下载:
链接:https://pan.baidu.com/s/1AIauQ2A-peIL9rYKQF0bPw
提取码:8888
mac系统安装Nacos推荐
https://blog.csdn.net/gongzi_9/article/details/123359171
将压缩包解压(注意不要有中文路径或空格)
打开解压得到的文件夹后打开bin目录会有如下内容
cmd结尾的文件是windows版本的
sh结尾的文件是linux和mac版本的
startup是启动文件,shutdown是停止文件
dos窗口运行
D:\tools\nacos\bin>startup.cmd -m standalone
startup.cmd:windows启动nacos的命令文件
-m 表示要设置启动参数
standalone:单机模式启动
运行成功默认占用8848端口,
打开浏览器输入地址
http://localhost:8848/nacos 或者 http://127.0.0.1:8848/nacos/
登录系统(默认都是下面的)
用户名:nacos
密码:nacos
将项目注册到Nacos
首先我先创建business模块
business模块pom文件中添加依赖
<!-- 支持项目注册到Nacos注册中心的依赖 discovery发现(服务的发现) -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
我们在创建好的application-dev.yml中编写对nacos注册的配置信息
spring:
application:
# 为当前项目起名,这个名字会被Nacos记录并使用
name: nacos-business
cloud:
nacos:
discovery:
# 配置Nacos所在的位置,用于注册时提交信息
server-addr: localhost:8848
启动nacos
启动business模块,如果启动正常
在Nacos的服务管理->服务列表中,能看到nacos-business的名称
Nacos心跳机制
心跳:周期性表示自己健康的机制
Nacos内部注册的服务都会有一个心跳机制
心跳机制的目的,是每个服务和Nacos保持沟通和交换信息的机制
默认情况下,服务启动后每隔5秒会向Nacos发送一个"心跳包",这个心跳包中包含了当前服务的基本信息
Nacos接收到这个心跳包,首先检查当前服务在不在注册列表中,如果不在按新服务的业务进行注册,如果在,表示当前这个服务是健康状态
如果一个服务连续3次心跳(默认15秒)没有和Nacos进行信息的交互,就会将当前服务标记为不健康的状态
如果一个服务连续6次心跳(默认30秒)没有和Nacos进行信息的交互,Nacos会将这个服务从注册列表中剔除
这些时间都是可以通过配置修改的
实例类型分类
实际上Nacos的服务类型还有分类
临时实例(默认)
持久化实例(永久实例)
默认每个服务都是临时实例
如果想标记一个服务为永久实例
cloud:
nacos:
discovery:
# ephemeral设置当前项目启动时注册到nacos的类型 true(默认):临时实例 false:永久实例
ephemeral: false
持久化实例启动时向nacos注册,nacos会对这个实例进行持久化处理
心跳包的规则和临时实例一致,只是不会将该服务从列表中剔除
一般情况下,我们创建的服务都是临时实例,只有项目的主干业务才会设置为永久实例。
再分享下Nacos官方的文档:https://nacos.io/zh-cn/docs/quick-start.html Nacos 快速开始
好了,基本应用就是如上,项目中的使用配置根据自己实际应用去配置就行了。
希望对您有帮助!!!