Nacos

注册中心Nacos

Nacos是Spring Cloud Alibaba提供的一个软件
这个软件主要具有注册中心和配置中心(课程最后讲解)的功能
注册中心的功能
在这里插入图片描述

微服务中所有项目都必须注册到注册中心才能成为微服务的一部分
注册中心和企业中的人力资源管理部门有相似
当前微服务项目中所有的模块,在启动前,必须添加注册到Nacos的配置
所谓注册,就是将自己的信息,提交到Nacos来保存

Nacos的下载

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

Nacos的启动

因为Nacos是java开发的,我们要启动Nacos必须保证当前系统配置了java环境变量。

简单来说就是要环境变量中,有JAVA_HOME的配置,指向安装jdk的路径,确定了支持java后,就可以启动Nacos了。

打开其中的bin目录,在当前资源管理器地址栏输入cmd

E:\nacos\bin>startup.cmd -m standalone

startup是启动文件,shutdown是停止文件
startup.cmd:windows启动nacos的命令文件
-m 表示要设置启动参数
standalone:翻译为标准的孤独的,意思是正常的使用单机模式启动

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

如果不输入standalone运行会失败。如果报了"please set JAVA_HOME…",表示当前项目没有配置java环境变量(主要是没有设置JAVA_HOME)

如果运行没有报错,打开浏览器输入地址
http://localhost:8848/nacos,如果是首次访问,会出现这个界面,登录系统
用户名:nacos,密码:nacos

登录之后可以进入后台列表,不能关闭启动nacos的dos窗口,我们要让我们编写的项目注册到Nacos,才能真正是微服务项目

注册到Nacos

一个项目要想成为微服务项目体系的一部分,必须将当前项目的信息注册到Nacos
要添加一些配置,实现某模块启动时注册到Nacos的效果
首先该模块pom文件中添加依赖

<!--   支持项目注册到Nacos注册中心的依赖 discovery发现(微服务的发现)   -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

Nacos心跳机制

心跳:周期性的操作,来表示自己是健康可用的机制,注册到Nacos的微服务项目(模块)都是会遵循这个心跳机制的

目的
1.是表单当前微服务模块运行状态正常的手段
2.是表单当前微服务模块和Nacos保持沟通和交换信息的机制

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

Nacos接收到这个心跳包,首先检查当前服务在不在注册列表中,如果不在按新服务的业务进行注册,如果在,表示当前这个服务是健康状态
如果一个服务连续3次心跳(默认15秒)没有和Nacos进行信息的交互,就会将当前服务标记为不健康的状态。

如果一个服务连续6次心跳(默认30秒)没有和Nacos进行信息的交互,Nacos会将这个服务从注册列表中剔除
这些时间都是可以通过配置修改的

实例类型分类
实际上Nacos的服务类型还有分类

  • 临时实例(默认)
  • 持久化实例(永久实例)

默认每个服务都是临时实例,如果想标记一个服务为永久实例

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

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

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

一般情况下,我们创建的服务都是临时实例,只有项目的主干业务才会设置为永久实例

配置中心

什么是配置中心

配置中心:在微服务的环境下,将项目需要的配置信息保存在配置中心,需要读取时直接从配置中心读取,方便配置管理的微服务工具
我们可以将部分yml文件的内容保存在配置中心。

一个微服务项目有很多子模块,这些子模块可能在不同的服务器上,如果有一些统一的修改,我们要逐一修改这些子模块的配置,由于它们是不同的服务器,所以修改起来很麻烦。

如果将这些子模块的配置集中在一个服务器上,我们修改这个服务器的配置信息,就相当于修改了所有子模块的信息,这个服务器就是配置中心
使用配置中心的原因就是能够达到高效的修改各模块配置的目的

配置中心的使用

Nacos既可以做注册中心,也可以做配置中心。Nacos做配置中心,支持各种格式\类型的配置文件,如properties\yaml(yml)\txt\json\xml等

Nacos数据结构

namespace:命名空间
group:分组
Service/DataId:具体数据

命名空间

namespace是Nacos提供的最大的数据结构。
一个Nacos可以创建多个命名空间,一个命名空间能够包含多个group

每一个group中又可以包含多条配置信息
在nacos中新建命名空间
在上图连接的位置可以新增命名空间,填写命名空间名称和描述即可
Nacos有默认的命名空间public不能删除和修改。
添加命名空间后,我们在Nacos中注册的服务或添加的配置就可以指定命名空间了

因为多个命名空间可以隔离项目,每个项目使用自己的命名空间,互不干扰
分组
一个命名空间中可以有多个分组,进行进一步分离
我们使用时,如果不需要进一步分组,推荐使用group名称:DEFAULT_GROUP
服务或配置
确定了命名空间和分组之后,我们就可以添加服务或配置了。
之前我们启动的各种模块都是服务,这些服务都是默认保存在public命名空间中
下面我们主要使用配置中心的功能,在命名空间中添加配置
添加配置就是设置DataId,实际在Nacos中定位一个配置的结构为
Namespace>Group>DataId

Nacos添加配置

Nacos首页->配置管理->配置列表->添加配置(右侧的大"+"号)
添加模块数据库连接配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值