IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> SpringCloud笔记(三)——Nacos -> 正文阅读

[Java知识库]SpringCloud笔记(三)——Nacos

Nacos

学习视频链接:
黑马程序员:https://www.bilibili.com/video/BV1LQ4y127n4

1、认识与安装nacos

什么是nacos?

Nacos 支持基于 DNS 和基于 RPC 的服务发现(可以作为springcloud的注册中心)、动态配置服务(可以做配置中心)、动态 DNS 服务。

官方介绍是这样的:

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。

官方网址:http://nacos.io

nacos安装

1、先到nacos的GitHub官网进行下载:https://github.com/alibaba/nacos/tags

请添加图片描述

2、下载完成后,点击解压到我们方便找到的路径当中

请添加图片描述

3、在命令行当中启动bin文件夹当中的startup.cmd

startup.cmd -m standalone

请添加图片描述

4、在浏览器中输入http://192.168.17.1:8848/nacos/index.html (默认的账号密码都是nacos)

请添加图片描述

如果需要修改端口,在conf文件夹当中用记事本打开application.properties文件,找到server.port修改即可
请添加图片描述

2、服务注册

1、在父工程中添加spring-cloud-alilbaba的管理依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>2.2.5.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

2、添加nacos的客户端依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

3、在yml配置文件当中配置naco服务地址

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

请添加图片描述

3、Nacos服务分级存储模型

请添加图片描述

关于服务跨集群调用问题

  • 服务调用尽可能选择本地集群的服务,跨集群调用延迟较高
  • 本地集群不可访问时,再去访问其它集群
spring
    cloud:
      nacos:
        server-addr: localhost:8848 #nacos服务地址
        discovery:
            cluster-name: HZ #集群名称

请添加图片描述

如果没有定义集群默认默认就是归属本地

Nacos服务分级存储模型

  • 一级是服务,例如userService
  • 二级是集群,例如杭州/上海
  • 三级是实例,例如杭州机房的某台部署了userService的服务器

设置实例的集群属性方法:

在配置文件中添加spring.cloud.nacos.dicovery.cluster-name属性即可

4、NacosRule负载均衡

在没开启NacosRule负载均衡之前,Nacos默认使用轮询的方式在各个服务器当中进行访问。

配置NacosRule:

userService #配置服务名称
  ribbon:
    NFloadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule #开启NacosRule负载均衡
  • NacosRule负载均衡默认同集群服务实例优先
  • NacosRule确定了可用实例后,访问方式为随机访问
  • 如果跨集群访问会有警告信息

5、服务实例的权重设置

目的:在服务器设备性能好的机器上多承担一些用户请求,性能差的少承担一些用户请求

Nacos提供了权重配置来控制访问频率,权重越大则访问频率越高!

配置方式:

1、在Nacos控制台选中实例后面的编辑按钮

请添加图片描述

2、将权重设置为你想要的大小(0-1)即可(越小访问的几率也越小)

请添加图片描述

6、环境隔离配置

Nacos管理台有一个单独的菜单”命名空间”,里面默认存在一个名为"public" 的默认命名
空间,我们在使用Nacos时不管是作为注册中心还是配置中心,都是作用在该命名空间之下
的,那么这个命名空间到底起着什么作用呢?其实Nacos基于Namespace帮助用户逻辑隔离
多个命名空间,这可以帮助用户更好的管理测试、预发、生产等多环境服务和配置,让每个环
境的同一个配置(如数据库数据源)可以定义不同的值。

让我们先来看看隔离之前的配置:

开启两个服务分别开启了orderService和userService,此时在nacos控制台的界面为;

请添加图片描述

到nacos控制台新建一个命名空间名为dev

请添加图片描述

配置orderService环境隔离:

cloud:
  nacos:
    server-addr: localhost:8848 # nacos服务地址
    discovery:
      namespace: 7712e234-2a11-4bd6-a5ba-e12caedef75a #dev环境,此字符串为nacos控制台新建命名空间时生成的id

重启服务之后,nacos控制台显示为:

请添加图片描述
请添加图片描述

可以发现,orderService被分组到了dev,此时接口调用会发现orderService无法调用userService,提示服务器错误
请添加图片描述

圈红翻译:负载平衡器没有可用于客户端的服务器:userservice


可知

  1. namespace用来做环境隔离
  2. 每个namespace都有唯一id
  3. 不通namespace下的服务不可见

7、Nacos、Eureka

相同点

  1. 都支持服务注册和服条拉取
  2. 都支持服务提供者心跳方式做健康检测

区别

  1. Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式
  2. 临时实例心跳不正常会被剔除,非临时实例则不会被
    剔除
  3. Nacos支持服务列表变更的消息推送模式,服务列表
    更新更及时
  4. Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-09 16:08:22  更:2021-10-09 16:10:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 21:04:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码