当前位置: 首页 > news >正文

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

目录

  • 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服务配置

springcloud: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://www.lryc.cn/news/31821.html

相关文章:

  • 高通Android 12/13 默认应用程序授予权限
  • 代码随想录|day6|哈希表篇-- 242.有效的字母异位词 、349. 两个数组的交集 、202. 快乐数、1. 两数之和
  • k8s学习之路 | Day20 k8s 工作负载 Deployment(下)
  • 考研复试——操作系统
  • Java ~ Collection/Executor ~ LinkedBlockingDeque【源码】
  • 【前缀和】截断数组、K倍区间、激光炸弹
  • 函数编程:强大的 Stream API
  • 企业架构图之业务架构图
  • 监控易网络管理:网络流量分析
  • RHCSA-文件内容显示(3.6)
  • Qt多线程文件查找器
  • 源码阅读笔记 InputFormat、FileInputFormat、CombineTextInputFormat
  • 二值图像骨架线提取
  • 规划数据指标体系方法(上)——OSM 模型
  • 做程序界中的死神,继续提升灵力上限
  • [数据结构]:11-冒泡排序(顺序表指针实现形式)(C语言实现)
  • Java实验报告经验总结
  • ESP32使用TCP HTTP访问API接口JSON解析获取数据
  • spring security 实现自定义认证和登录(4):使用token进行验证
  • 戴眼镜检测和识别2:Pytorch实现戴眼镜检测和识别(含戴眼镜数据集和训练代码)
  • 信息收集之Google Hacking
  • 【面试题】如何避免使用过多的 if else?
  • oneblog_justauth_三方登录配置【Gitee】
  • 33- PyTorch实现分类和线性回归 (PyTorch系列) (深度学习)
  • C++基础——Ubuntu下编写C++环境配置总结(C++基本简介、Ubuntu环境配置、编写简单C++例程)
  • 项目管理中,导致进度失控的五种错误
  • C# 中的abstract和virtual
  • 第六十周总结——React数据管理
  • Springboot之@Async异步指定自定义线程池使用
  • 视频知识点(23)- TS格式详解指南