nacos 简介和使用

Nacos 是阿里巴巴开源项目,用于构建微服务应用的服务发现、配置管理和服务管理。

微服务项目中不同模块之间服务调用时,实现服务注册与发现。

Nacos 使用:

        Nacos 是java开发的,依赖 Java 环境来运行

Nacos的下载

https://github.com/alibaba/nacos/releases/download/1.4.3/nacos-server-1.4.3.zip

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

登录系统

用户名: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会对这个实例进行持久化处理

心跳包的规则和临时实例一致,只是不会将该服务从列表中剔除

一般情况下,我们创建的服务都是临时实例

只有项目的主干业务才会设置为永久实例

猜你喜欢

转载自blog.csdn.net/ldqchat/article/details/127028087