【微服务技术06】Nacos注册中心

news2025/1/28 1:05:36

【微服务技术06】Nacos注册中心

案例代码:https://gitee.com/pikachu2333/spring-cloud-hexuan

安装Nacos

安装nacos:https://github.com/alibaba/nacos/releases
单机启动:sh startup.sh -m standalone
访问:http://127.0.0.1:8848/nacos
默认账号密码都是nacos

Nacos配置服务注册与发现

SpringCloud完成服务注册与发现功能都使用这两个接口,无论Eureka还是Nacos都实现这两个接口来完成服务注册与发现。使用nacos和eureka的区别就是引入的依赖不一样,配置不一样,对代码层面没有影响。
在这里插入图片描述

在父工程引入Nacos依赖

<!--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>

Nacos客户端引入依赖

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

Nacos客户端配置

spring:
  application:
    name: nacos-order-service
  cloud:
    nacos:
      server-addr: localhost:8848 #nacos服务地址

启动服务后在nacos面板即可查看信息
在这里插入图片描述

Nacos服务分级存储模型

在Nacos服务分级模型中,分为服务、集群、示例的概念
在这里插入图片描述

服务跨集群调用问题

服务调用尽可能选择本地集群的服务,跨集群调用延迟较高
本地集群不可访问时,再去访问其它集群
在这里插入图片描述

不同区域集群配置

spring:
  cloud:
    nacos:
      server-addr: localhost:8848 #nacos服务地址
      discovery:
        cluster-name: HZ  # 集群名称,也就是机房位置

如下,我设置启动了3个服务2组集群
在这里插入图片描述
我把消费者nacos-order-service的集群也配置到HZ
访问服务调用请求接口,发现并没有优先访问HZ集群的服务,这是因为没有配置同地区优先的负载均衡规则
配置消费者nacos-order-service的负载均衡规则:

nacos-user-service: # 服务提供者应用名
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则

NacosRule规则会优先随机访问相同集群,同集群内服务都不可用再访问其他集群并给出警告日志

根据权重负载均衡

在nacos面板直接编辑即可,如果权重为0不会被访问
当服务需要重启升级时,可以将需要重启的服务权重先调整为0,重启后再恢复,用户在此期间无感知,不受影响
在这里插入图片描述
总结:
实例的权重控制
Nacos控制台可以设置实例的权重值,一般0~1之间
同集群内的多个实例,权重越高被访问的频率越高
权重设置为0则完全不会被访问

Nacos环境隔离

Nacos中服务存储和数据存储的最外层都是一个名为namespace的东西,用来做最外层隔离
在这里插入图片描述

每个namespace都有唯一id
服务设置namespace时要写id而不是名称
不同namespace下的服务互相不可见

需要在nacos面板创建namespace并在application.yml中配置命名空间id,比较简单不具体演示

临时实例和非临时实例

服务注册到Nacos时,可以选择注册为临时或非临时实例,通过下面的配置来设置:

spring:
  cloud:
    nacos:
      discovery:
        ephemeral: false # 设置为非临时实例

临时实例宕机时,会从nacos的服务列表中剔除,而非临时实例则不会,标记不健康状态,等待恢复

Nacos和Eureka对比

Nacos与eureka的共同点
都支持服务注册和服务拉取
都支持服务提供者心跳方式做健康检测

Nacos与Eureka的区别
Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式
临时实例心跳不正常会被剔除,非临时实例则不会被剔除
Nacos支持服务列表变更的消息推送模式,服务列表更新更及时
Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/89258.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

操作系统,计算机网络,数据库刷题笔记10

操作系统&#xff0c;计算机网络&#xff0c;数据库刷题笔记10 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xf…

yolov5修改骨干网络-使用pytorch自带的网络-以Mobilenet和efficientnet为例

通过 yolov5修改骨干网络–原网络说明 我们知道&#xff1a;yolov5.yaml中存放的是我们模型构建参数&#xff0c;具体构建过程在yolo.py中的parse_model函数&#xff0c;通过循环遍历yolov5.yaml给的参数&#xff0c;去寻找网络名称&#xff0c;并将args的参数传入网络&#xf…

获取bean的三种方式和注意事项

获取bean的三种方式和注意事项 spring-ioc.xml <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLoc…

PUMA:DOA估计模式的改进实现(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

北京旅游HTML学生网页设计作品 dreamweaver作业静态HTML网页设计模板 北京旅游景点网页作业制作 HTML+CSS+JS

&#x1f468;‍&#x1f393;学生HTML静态网页基础水平制作&#x1f469;‍&#x1f393;&#xff0c;页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码&#xff0c;这是一个不错的旅游网页制作&#xff0c;画面精明&#xff0c;排版整洁&#xff0c;内容…

口诀速记 DataFrame 指定行列的数据

口诀速记DataFrame 指定行列的数据一、loc函数和iloc函数获取指定行列的数据二、loc和iloc的切片操作三、[] 语法获取指定行列的数据✅作者简介&#xff1a;大家好我是爱康代码 &#x1f4c3;个人主页&#xff1a;链接: 点一下这里就进入爱康代码的主页链接&#xff0c;欢迎参观…

深入:9种设计模式在Mybatis中的运用

虽然我们都知道有26个设计模式&#xff0c;但是大多停留在概念层面&#xff0c;真实开发中很少遇到&#xff0c;Mybatis源码中使用了大量的设计模式&#xff0c;阅读源码并观察设计模式在其中的应用&#xff0c;能够更深入的理解设计模式。 Mybatis至少遇到了以下的设计模式的…

接口优化技巧

1. 批量思想&#xff1a;批量操作数据库 优化前&#xff1a; //for循环单笔入库 for(TransDetail detail:transDetailList){insert(detail); }优化后&#xff1a; batchInsert(transDetailList);打个比喻&#xff1a; 打个比喻:假如你需要搬一万块砖到楼顶,你有一个电梯,电…

怎么进行多人配音?建议收藏这些方法

相信不少小伙伴平时在网上冲浪的时候&#xff0c;经常会刷到一些搞笑视频吧。这些搞笑视频的配音&#xff0c;通常都是以一人分饰多角或者是多人互动对话的形式进行配音的。那有没有小伙伴有着不错的搞笑创意点子&#xff0c;但是苦于没有人配音呢&#xff1f;其实我们可以使用…

电脑之间通信的大致过程

本文来自对网络工程师之路内容的个人总结&#xff0c;仅供个人复习参考。 1.电脑之间通信就需要有线路&#xff0c;但是如果多台电脑互相之间需要通信&#xff0c;那么就需要有很多根线&#xff0c;每台电脑需要有多网卡&#xff0c;为了解决这个问题&#xff0c;(集线器)Hub就…

360度内环镜、内螺纹检测镜头、瓶盖检测镜头以及超中心镜头

用于孔洞状物体的360内部成像 提示&#xff1a; 内孔检测光学镜头 从外部检查腔内&#xff1b;无需在孔洞内放置光学探头&#xff1b;带孔对象的360度对焦&#xff1b;腔体内壁和底部都可以实现高分辨率成像&#xff1b;景深可使同一个镜头拍摄具有不同形状和尺寸的物体&…

Bidirectional Recurrent Neural Networks

摘要 a regular recurrent neural network &#xff08;RNN&#xff09; →\rightarrow→ a bidirectional recurrent neural network (BRNN)a preset future frame&#xff1a; 预设的未来架构。. Structure and training procedure&#xff1a; 架构和训练程序。TIMIT datab…

Java多线程之:详解ThreadPoolExecutor执行源码分析

文章目录线程池的实现原理详解ThreadPoolExecutor核心数据结构核心配置参数解释线程池的优雅关闭线程池的生命周期正确关闭线程池的步骤shutdown()与shutdownNow()的区别任务的提交过程分析任务的执行过程分析shutdown()与任务执行过程综合分析shutdownNow() 与任务执行过程综合…

【大一大二必看】计算机专业的同学应该参加哪些比赛?

文章目录1. 前言2. ICPC3. CCPC4. 蓝桥杯5. 天梯赛6. CCF CSP7. PAT8. 全国高校计算机能力挑战赛9. 其他&#x1f351; 天池大赛&#x1f351; 华为软件精英挑战赛&#x1f351; LeetCode 周赛 / 双周赛&#x1f351; CSDN 编程竞赛总结1. 前言 2022 年已经过半&#xff0c;对…

java版商城 b2b2c o2o 多商家入驻商城 直播带货商城 电子商务

一个好的SpringCloudSpringBoot b2b2c 电子商务平台涉及哪些技术、运营方案&#xff1f;以下是我结合公司的产品做的总结&#xff0c;希望可以帮助到大家&#xff01; 搜索体验小程序&#xff1a;海哇 1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买…

巡检过程中有哪些注意事项?智能巡检了解一下

智能巡检系统是现场过程管理的生产力革命&#xff0c;由人工记录蝶化为掌上电脑运作&#xff0c;适用于设备运行值班记录、仓库/资产管理、设备巡检保养、安全巡更、机房值守、基站维护等一切重复性的工作管理。 安全巡检的目的在于识别信息系统存在的安全脆弱性、分析信息系统…

2022-12-14 移植Qt Creator helloworld 应用到ARM平台运行过程,我这里用buildroot里面的编译器。

一、在ubuntu上运行可执行文件。 1、ubuntu里面安装qt creator 建立helloworld 工程&#xff0c;点击run就可以运行&#xff0c;运行如下。 2、在ubuntu上运行方法二&#xff1a;同级目录下有build-helloworld-Desktop_Qt_5_12_12_GCC_64bit-Debug&#xff0c;用file hellowor…

VS使用技巧汇总

总目录 文章目录总目录前言一、快捷技巧1.代码片段快捷方式2.选择性粘贴3.快速停靠窗口4.多行同步快速编辑5.引用命名空间6.整行上下移动7.规整代码格式二、其他技巧1.其他总结前言 本文会持续收录一些VS的使用技巧&#xff0c;掌握VS一些常用的使用技巧对于提高我们编程效率很…

MA-Net:用于肝脏和肿瘤分割的多尺度注意力网络

摘要 近年来为了提高医学图像分割的性能&#xff0c;提出了大量基于多尺度特征融合的UNet变体。与以往通过多尺度特征融合提取医学图像上下文信息的方法不同&#xff0c;本文提出了一种新的多尺度注意力网格&#xff08;MA-Net&#xff09;在这个网络方法中引入了自注意力机制…

Netty使用篇:自定义编解码器

我们今天还是继续Netty&#xff0c;Netty的编码器和解码器就是Netty对Handler这个组件的一种使用场景而已&#xff0c;SpringWebFlex就是基于这个Netty来做的&#xff0c;在往上引深一层GateWay服务网关就是SpringWebFlex的实现&#xff0c;所以SpringCloud当中明确说明了&…