• Nacos注册中心


    什么Nacos

    Nacos是Spring Cloud Alibaba提供的一个软件

    这个软件主要具有注册中心和配置中心的功能

    微服务中所有项目都必须注册到注册中心才能成为微服务的一部分

    注册中心和企业中的人力资源管理部门有相似

     

    Nacos的启动

    我们要启动Nacos必须保证当前系统配置了java环境变量

    简单来说就是要环境变量中,有JAVA_HOME的配置,指向安装jdk的路径

    确定了支持java后,可以通过下面路径下载

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

    国外网站,下载困难可以多试几次

    安装启动Nacos

    将下载好的Nacos压缩包解压

    将压缩包解压(注意不要有中文路径或空格)

    打开解压得到的文件夹后打开bin目录会有如下内容

     

    cmd结尾的文件是windows版本的

    sh结尾的文件是linux和mac版本的

    startup是启动文件,shutdown是停止文件

    Windows下启动Nacos不能直接双击cmd文件

    需要进入dos命令运行

    在当前资源管理器地址栏输入cmd

    G:\pgm\nacos\bin>startup.cmd -m standalone
    

    -m是设置启动方式参数

    standalone翻译为标准的孤独的

    意思是单机模式标准运行

    运行成功默认占用8848端口,并且在代码中提示

    如果不输入standalone运行会失败

    startup.cmd -m standalone
    

    验证Nacos的运行状态

    打开浏览器输入http://localhost:8848/nacos

     

    如果是首次访问,会出现这个界面

    登录系统

    用户名:nacos

    密码:nacos

    登录之后可以进入后台列表

    不能关闭启动nacos的dos窗口

    要让编写的项目注册到Nacos,才能真正是微服务项目

    例:

    1. spring:
    2. application:
    3. # 当前Springboot项目的名称,用作注册中心服务的名称
    4. name: xxxxxx
    5. cloud:
    6. nacos:
    7. discovery:
    8. # 定义nacos运行的路径
    9. server-addr: localhost:8848

    配置nacos的pom

    1. <dependency>
    2. <groupId>com.alibaba.cloud</groupId>
    3. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    4. </dependency>

     

     Nacos心跳机制

    Nacos内部注册的服务分为两大类

    1.临时实例(默认)

    2.持久化实例(永久实例)

    我们可以通过设置属性来确定它是临时还是永久

    1. cloud:
    2. nacos:
    3. discovery:
    4. # ephemeral设置当前项目启动时注册到nacos的类型 true(默认):临时实例 false:永久实例
    5. ephemeral: true

    临时实例和永久实例的区别

    临时实例

    默认情况下,启动服务后,每隔5秒会向nacos发送一个"心跳包",这个心跳包中包含了当前服务的基本信息

    Nacos收到这个"心跳包"如果发现这个服务的信息不在注册列表中,就进行注册,如果这个服务的信息在注册列表中就表明这个服务还是健康的

    如果Nacos15秒内没接收到某个服务的心跳包,Nacos会将这个服务标记为不健康的状态

    如果30秒内没有接收到这个服务的心跳包,Nacos会将这个服务从注册列表中剔除

    这些时间都是可以通过配置修改的

    持久化实例(永久实例)

    持久化实例启动时向nacos注册,nacos会对这个实例进行持久化处理

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

    各类型使用时机

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

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

     

    使用Idea启动Nacos

    我们每次开机都要先启动nacos才能启动其他服务

    我们使用dos窗口敲代码启动nacos还是比较麻烦的

    我们可以使用idea提供的功能,简化nacos启动的过程

     

     

     

    配置完成后,就可以在idea中启动nacos(如果要注册多个业务到nacos要注意修改端口号不能相同)

  • 相关阅读:
    golang 组件 validator介绍以及使用案例——单字段验证和结构体验证
    go日志输出-logrus
    随机数Random
    Redis设计与实现(七)| 发布 & 订阅
    TinyEngine 服务端正式开源啦!!!
    Mac如何安装tensorflow|from tensorflow.keras.utils import plot_model|已解决
    JavaScript 发布-订阅设计模式实现 React EventBus(相当于vue的$Bus)非父子之间通信
    从底层结构开始学习FPGA(8)----Block RAM(BRAM,块RAM)
    Go程序内存泄露问题快速定位
    Mac M1 安装 brew
  • 原文地址:https://blog.csdn.net/ClearDream__/article/details/125462464