【SpringCloud】SpringCloud教程之Nacos实战(1)

news/2024/7/5 2:29:58

目录

  • Nacos是什么?
  • 一.Nacos下载
  • 二.安装Nacos
  • 三.Nacos原理
  • 四.Nacos快速入门
  • 五.Nacos服务多级存储模式
  • 六.Nacos根据集群设置负载均衡
    • 1.根据同集群优先访问
    • 2.根据权重配置负载均衡
  • 七.Nacos的环境隔离
  • 八.Nacos和Eureka的区别

前提:以订单服务和用户服务为例,订单服务要使用用户服务。

注意: 这篇讲的是Nacos的服务注册和服务拉取的作用。

Nacos是什么?

Nacos是阿里巴巴的产品,也是注册中心也有负载均衡功能,现在是SpringCloud中的一个组件,相比较而言比Eureka功能更丰富。在国内更加欢迎。

一.Nacos下载

nacos官网

1.进入官网
在这里插入图片描述

2.找到下载功能
在这里插入图片描述

3.找到你想下载的版本
在这里插入图片描述


二.安装Nacos

nacos14.1安装包 提取码:0221
1.解压
在这里插入图片描述

2.默认端口是8848,如果你要改端口在 conf -> application.properties
在这里插入图片描述

3.启动
注意: 默认账号密码都是:nacos

//启动命令 在bin目录下启动
startup.cmd -m standalone

-m:模式(单机模式、集群模式)
standalone:单机模式

在这里插入图片描述

三.Nacos原理

在这里插入图片描述
1.服务注册时,配置服务是临时实例还是非临时实例,在服务的yml服务配置

spring
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos服务地址
      discovery:
       ephemeral: false # 默认是临时实例,true:临时实例,false:非临时实例

2.可视化界面查看实例类型
在这里插入图片描述

在这里插入图片描述

四.Nacos快速入门

1.在父工程pom文件添加依赖

		 <!--nacos的管理依赖-->
	     <dependency>
	         <groupId>com.alibaba.cloud</groupId>
	         <artifactId>spring-cloud-alibaba-dependencies</artifactId>
	         <version>2.2.5.RELEASE</version>
	         <type>pom</type>
	         <scope>import</scope>
	     </dependency>

2.在子工程pom文件添加依赖(订单服务)

 	    <!-- nacos客户端依赖包 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

3.yml文件配置(订单服务)

spring:
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos服务地址,默认地址

4.查看启动服务的信息

在这里插入图片描述

五.Nacos服务多级存储模式

1.多级存储模式逻辑图
在这里插入图片描述

2.yml文件配置集群

spring:
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos地址
	  discovery: 
	  	cluster-name: CX #集群名称,CX是曹县的集群

六.Nacos根据集群设置负载均衡

1.根据同集群优先访问

例如:订单服务要访问用户服务的集群。但是想优先访问CX集群的用户服务。

(1) yml文件配置(订单服务)

spring:
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos地址
	  discovery: 
	  	cluster-name: CX #集群名称,CX是曹县的集群

(2) 配置Ribbon的规则(订单服务)

userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule  # Nacos负载均衡规则(优先访问同集群的服务,随机访问,找不到同集群的会报警告,然后去找其他集群) 

2.根据权重配置负载均衡

例如:部署用户服务的服务器,有的好,有的坏,那我们想让好的服务器接受的请求多一些该怎么办呢?

nocos控制台设置权重(权重越大访问越多,权重为0,不会被访问)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七.Nacos的环境隔离

Nacos中服务存储和数据存储的最外层都是一个名为namespace的东西,用来做最外层隔离。可以用于比如生产环境、测试环境、开发环境这种进行隔离,还有根据集群的地域的不同进行隔离。

1.隔离逻辑图
在这里插入图片描述
2.查看服务所属的命名空间和组
在这里插入图片描述
3.新建命名空间
在这里插入图片描述

4.把指定服务加入某个命名空间,配置yml文件

spring:
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos服务地址
      discovery:
        namespace: 4d6ce343-9e1b-44df-a90f-2cf2b6b3d177 # dev环境,值是命名空间的id,配置完这个服务就属于dev环境的命名空间了,其他命名空间访问不到

八.Nacos和Eureka的区别

共同点
①都支持服务的注册和拉取。
②都支持服务提供者以心跳检测来判断是否健康(临时实例)。

不同点
①nacos支持注册中心主动询问服务提供者的状态(非临时实例)。
②nacos支持注册中心消息变更主动推送。
③心跳不正常会被剔除(临时实例)。


http://lihuaxi.xjx100.cn/news/965890.html

相关文章

XC7K160T-1FBG484I、XC7A100T-2CSG324I FPGA可编程门阵列 PDF规格书

1、XC7K160T-1FBG484I说明&#xff1a;Kintex-7 FPGA有-3、-2、-1、-1L和-2L速度等级&#xff0c;其中-3具有最高的性能。-2L器件被筛选为较低的最大静态功率&#xff0c;并且可以在较低的核心电压下运行&#xff0c;以获得比-2器件更低的动态功率。-2L工业(I)温度器件仅在VCCI…

项目设计原则

单一设计原则 做过管理系统项目的同学肯定都接触过用户、机构、角色管理这些模块&#xff0c;实现方式都是基于RBAC模型&#xff08;Role-Based Access Control&#xff0c;基于角色的访问控制&#xff0c;通过分配和取消角色来完成用户权限的授予和取消&#xff0c;使动作主体…

【C/C++ 数据结构】-八大排序之 归并排序其它排序

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【C/C数据结构与算法】 分享&#xff1a;本王在此&#xff0c;狼狈为奸者&#xff0c;谋权篡位者&#xff0c;倒行逆施者&#xff0c;都得死&#xff01; ——岐王李茂贞《画江湖…

微软正式推出用于 WSL 的 D3D12 GPU 视频加速

导读在允许 WSL 使用 OpenGL、OpenCL 和 Vulkan API 进行 GPU 加速之后&#xff0c;微软又正式发布了针对 Linux 的 Windows 子系统 (WSL2) 的 Direct3D 12 GPU 视频加速支持。 在允许 WSL 使用 OpenGL、OpenCL 和 Vulkan API 进行 GPU 加速之后&#xff0c;微软又正式发布了针…

1.2+1.3 GCC

安装gcc g sudo apt install gcc g查看gcc版本 gcc -v gcc -version g -v g -versionxshell快捷键&#xff1a;ctrlL清空命令行 编译测试 在/home/ssp/Linux/lession02目录下创建一个test.c文件 touch test.c使用vs code远程连接到Ubuntu&#xff0c;写c代码更方便 #inclu…

GrabCut算法、物体显著性检测

图割GraphCus算法。利用颜色、纹理等信息对GraphCut进行改进&#xff0c;形成效果更好的GrabCut算法。 对图像的目标物体和背景建立一个K维的全协方差高斯混合模型。 其中&#xff0c;单高斯模型的概率密度函数用公式表示为&#xff1a; 高斯混合模型可表示为n个单高斯模型的概…

【SpringBoot高级篇】SpringBoot集成jasypt 配置脱敏和数据脱敏

【SpringBoot高级篇】SpringBoot集成jasypt数据脱敏配置脱敏使用场景配置脱敏实践数据脱敏pomymlEncryptMethodEncryptFieldEncryptConstantEncryptHandlerPersonJasyptApplication配置脱敏 使用场景 数据库密码直接明文写在application.yml配置中&#xff0c;对安全来说&…

HTTP的强缓存与协商缓存

强缓存策略 直接从本地副本比对读取&#xff0c;不去请求服务器&#xff0c;返回的状态码是 200。 cache-control HTTP1.1 新增了 cache-control 字段&#xff0c;当 cache-control 和 expires 都存在时&#xff0c;cache-control 优先级更高。该字段是一个时间长度&#xf…