Nacos注册及使用

一、简介

Nacos是阿里云开源的一个服务发现、配置管理和服务鉴权平台,它提供了一种更简单、更便捷、更开放的方式来管理服务,帮助开发者快速实现服务的发现、配置的管理、服务的鉴权等功能。Nacos可以帮助开发者轻松管理微服务应用中的服务提供者、服务消费者和配置,提供服务发现、配置管理、服务鉴权等功能。Nacos具有以下特点:

  1. 轻量级:Nacos的启动速度快,占用资源少,适合在生产环境中部署。
  2. 易于使用:Nacos提供了简单易用的RESTful API和Java客户端,可以快速上手。
  3. 高可用:Nacos具有高可用的架构,可以通过配置来设置多个Nacos服务器,实现故障切换和负载均衡。
  4. 配置管理:Nacos提供了集中式的配置管理功能,可以实现动态配置和环境变量配置。
  5. 服务鉴权:Nacos提供了服务鉴权功能,可以根据不同的服务设置不同的鉴权规则。

二、Nacos和Eureka的区别

Nacos和Eureka都是当前比较流行的Service Mesh组件,用于服务发现、配置管理等。它们的区别如下:

  1. 背景不同:Nacos是阿里巴巴开源的组件,而Eureka是Netflix开源的组件。
  2. 功能侧重点不同:Nacos在服务发现和配置管理方面功能更加强大,支持动态注册、配置推送、配置监听等功能;而Eureka更加专注于服务发现,配置管理功能较弱。
  3. 性能不同:Nacos经过优化,在大规模集群下性能更优。
  4. API设计不同:Nacos的API设计更加灵活,支持RESTful和Java SDK两种方式;而Eureka只支持Java SDK。
  5. 单机负载不同:Nacos的单机负载能力比Eureka更强。
  6. 综上所述,Nacos和Eureka在功能侧重点和性能上有所不同,选择时应根据实际需求进行评估。如果需要更加强大的配置管理和推送功能,可以选择Nacos;如果只是需要简单的服务发现功能,可以选择Eureka。

三、安装

1、安装

官网下载地址

Nacos注册及使用_第1张图片

Nacos注册及使用_第2张图片

Nacos注册及使用_第3张图片

将压缩包解压到文件夹 

Nacos注册及使用_第4张图片

找到application.properties文件打开查看端口号 

Nacos注册及使用_第5张图片

 默认端口号为8848,如果已经有其它应用占了,那么可以更换端口号。

Nacos注册及使用_第6张图片

2、启动 

在此窗口打开cmd命令框

Nacos注册及使用_第7张图片

启动命令: 

startup.cmd -m standalone

启动成功!!! 

Nacos注册及使用_第8张图片

 复制地址:

Nacos注册及使用_第9张图片

到浏览器打开(账号和密码都是nacos):

Nacos注册及使用_第10张图片

Nacos注册及使用_第11张图片

 四、服务注册到Nacos

1、非集群服务

在整个项目的父工程中引入依赖

            
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            

Nacos注册及使用_第12张图片

在子项目中引入客户端依赖 及 配置yml文件

        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        

 Nacos注册及使用_第13张图片

 将所配置的父项目和子项目启动(我只有一个父项目和两个子项目),成功显示。

Nacos注册及使用_第14张图片

2、集群服务

将上面的非集群服务的配置按原样配置。

配置yml文件

Nacos注册及使用_第15张图片

 启动子项目(这里我启动了两个(UserApplication、UserApplication2))

然后再配置yml文件(将其值改为SH)

Nacos注册及使用_第16张图片

 复制一个启动项并更改其端口号,新建好后点击运行

Nacos注册及使用_第17张图片

成功显示。

Nacos注册及使用_第18张图片

springcloudNacos注册及使用_第19张图片 

 五、优先选择本地集群

NacosRule负载均衡策略:

  1. 优先选择同集群服务实例列表
  2. 本地集群找不到提供者,才去其它集群寻找,并且会。报警告
  3. 确定了可用实例列表后,再采用随机负载均衡挑选实例

Nacos注册及使用_第20张图片

 六、饥饿加载

饥饿加载是一种 Ribbon 的功能,它可以在 Ribbon 负载均衡器初始化时预先加载某个服务的连接,以减少后续请求时的连接延迟。这样,在后续请求时,Ribbon 就可以直接使用已经加载好的连接,而不需要重新建立连接,从而提高请求的响应速度。

它可以在网页还未被访问时就开始加载数据,以减少网页加载的时间。这种技术可以在网页中使用,也可以在其他类型的应用程序中使用。在网页中使用时,可以提高网页的加载速度,提升用户体验。

Nacos注册及使用_第21张图片

 

七、服务实例的权重设置

实际部署中会出现这样的场景:

  1. 服务器设备性能有差异,部分实例所在机器性能较好,另一些较差,我们希望性能好的机器承担更多的用户请求
  2. Nacos提供了权重配置来控制访问频率,权重越大则访问频率越高。

实例的权重控制

  1. Nacos控制台可以设置实例的权重值,0~1之间
  2. 同集群内的多个实例,权重越高被访问的频率越高
  3. 权重设置为0则完全不会被访问

点击 “编辑”

Nacos注册及使用_第22张图片

修改权重值 Nacos注册及使用_第23张图片

 

八、环境隔离-namespace

Nacos中服务和存储数据的最外层都是一个名为namespacee的东西,用来做最外层隔离。

点击 “命名空间”

Nacos注册及使用_第24张图片

 

 点击 “新建命名空间”

Nacos注册及使用_第25张图片

 

id会自动生成,可以不填 Nacos注册及使用_第26张图片

 

在yml文件中配置

Nacos注册及使用_第27张图片

会看到 原本在“public” 中的 user server 已经到了“dev(我自己起的名字)” 

Nacos注册及使用_第28张图片

 

你可能感兴趣的:(spring,boot,springcloud,nacos,非集群,集群)