【2.1】Java微服务: Nacos的使用

目录

Nacos介绍

Nacos安装

下载和安装

修改端口

启动 

服务注册与发现

导入Nacos管理依赖

导入服务依赖

配置Nacos的服务地址

启动服务,查看已注册的服务

服务分级存储模型

分级存储模型介绍

具体结构

配置实例集群

同集群优先的负载均衡策略

服务权重配置

                          点击编辑

                          配置所需的权重

         

环境隔离

namespace介绍 

创建namespace

查看         


Nacos介绍

Nacoshttps://nacos.io/

        Nacos 是一个功能强大的服务发现和配置管理平台,它可以简化微服务架构中的服务注册、配置管理和服务发现等任务,提供了一致性、高可用性和可扩展性的解决方案。通过使用 Nacos,可以更好地管理和协调分布式系统中的各个组件和服务实例。

        Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。         
        

Nacos安装

  下载和安装

        下载地址:

Nacoshttps://github.com/alibaba/nacos/releases        这里展示win版的Nacos,下载过程省略,将下载好的压缩包解压,打开bin目录,可以看到Nacos的启动文件

         

修改端口

         nacos默认端口:8848(可能这就是阿里巴巴的幽默吧,成功人士的标配),如需修改,可以在conf文件下的application.properties文件中修改

                                     

  启动 

        打开命令窗口,输入启动命令

startup.cmd -m standalone

        出现如下界面,说明启动成功

         

        输入窗口中显示的控制台地址,即可进入nacos控制台登录页面,默认账号密码都是:nacos

        进入Nacos控制台主页

Nacos服务注册与发现

        nacos的服务注册方式大体与eureka相同,详情请查看我之前发布的:1.2 eureka注册中心,完成服务注册https://blog.csdn.net/hkzuz/article/details/132007406?spm=1001.2014.3001.5501

        在父工程导入Nacos的管理依赖

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.6.RELEASE</version><type>pom</type><scope>import</scope>
</dependency>

        在需要注册到Nacos的服务中导入服务依赖

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

         在需要注册到Nacos的服务中的配置文件中配置Nacos的服务地址

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

        启动服务后,即可在Nacos的服务列表看到已注册的服务

Nacos的服务分级存储模型

分级存储模型介绍

        一个服务可以有多个实例,在Nacos中,点击服务的详情即可查看 

        

        假如实例分布于全国各地的不同机房,Nacos就将同一机房内的实例 划分为一个集群。一个服务可以包含多个集群。

具体结构

        微服务互相访问时,应该尽可能访问同集群实例,因为本地访问速度更快。当本集群内不可用时,才访问其它集群。

配置实例集群

        配置集群操作,只需要在对应服务配置文件中修改即可

 cloud:nacos:server-addr: localhost:8848 #nacos服务地址discovery:cluster-name: USER1 #集群名称

         重新启动服务,在Nacos中可以看到实例在不同的集群(在重启服务后,若看到Nacos中存在空集群或默认集群且为空时,可以重启Nacos,或许可以解决)

        在服务列表可以看到当前user服务具有3个集群

        点击详情可查看 

 

同集群优先的负载均衡策略

        

        此为Nacos的同集群优先访问的负载均衡规则,同集群内随机访问

userservice: #要做配置的服务名称ribbon:NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则

服务权重配置

        实际部署中,有这样的情况,不同服务器有性能差异,因此要为不同的服务器配置访问权重来控制访问频率,在Nacos中可以选择服务实例直接配置

        点击编辑按钮

                           

        

        配置所需的权重

                        如下图,配置权重为0.1,和别的实例的访问频率就会是1:10

                        

         

环境隔离

namespace介绍

Nacos不仅是注册中心,还是数据中心,

        Nacos提供了namespace来实现环境隔离功能。

  •                 nacos中可以有多个namespace
  •                 namespace下可以有group、service等
  •                 不同namespace之间相互隔离,例如不同namespace的服务互相不可见

        

创建namespace

        在nacos的命名空间中,可以查看已有空间及其ID,点击添加命名空间按钮可以创建新空间

        输入空间名和描述,即可创建成功

        将服务放置到空间中,在配置文件中添加配置

spring:cloud:nacos:server-addr: localhost:8848discovery:cluster-name: USER1namespace: 492a7d5d-237b-46a1-a99a-fa8e98e4b0f9 # 命名空间,填ID

         在服务列表可以查看空间并选择

查看         

        重启服务,查看空间内是否有对应服务。选择USER空间,可以看到对应的服务

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

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

相关文章

Vue 整合 Element UI 、路由嵌套、参数传递、重定向、404和路由钩子(五)

一、整合 Element UI 1.1 工程初始化 使用管理员的模式进入 cmd 的命令行模式&#xff0c;创建一个名为 hello-vue 的工程&#xff0c;命令为&#xff1a; # 1、目录切换 cd F:\idea_home\vue# 2、项目的初始化&#xff0c;记得一路的 no vue init webpack hello-vue 1.2 安装…

探索未来:直播实时美颜SDK在增强现实(AR)直播中的前景

在AR直播中&#xff0c;观众可以与虚拟元素实时互动&#xff0c;为用户带来更加丰富、沉浸式的体验。那么&#xff0c;直播美颜SDK在AR中有哪些应用呢&#xff1f;下文小编将于大家一同探讨美颜SDK与AR有哪些关联。 一、AR直播与直播实时美颜SDK的结合 增强现实技术在直播中…

java 连接google cloud pubsub做消息发布和消费

pom依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-gcp-starter-pubsub</artifactId><version>1.2.7.RELEASE</version></dependency><dependency><groupId>org.spring…

【MFC】08.MFC消息,自定义消息,常用控件(MFC菜单创建大总结),工具栏,状态栏-笔记

本专栏上几篇文章讲解了MFC几大机制&#xff0c;今天带领大家学习MFC自定义消息以及常用控件&#xff0c;最常用的控件请查看本专栏第一二篇文章&#xff0c;今天这篇文章介绍工具栏&#xff0c;菜单和状态栏&#xff0c;以及菜单创建大总结。 文章目录 MFC消息分类&#xff1…

【Sa-Token】9、Sa-Token实现在线用户管理功能

尽管框架将大部分操作提供了简易的封装&#xff0c;但在一些特殊场景下&#xff0c;我们仍需要绕过框架&#xff0c;直达数据底层进行一些操作。 1、官方文档 会话查询 https://sa-token.cc/doc.html#/up/search-sessionSa-Token提供以下API助你直接操作会话列表&#xff1a…

【EI复现】售电市场环境下电力用户选择售电公司行为研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

如何在MongoDB中添加新用户

如何在MongoDB中添加新用户&#xff1f; MongoDB是一款流行的NoSQL数据库&#xff0c;它的可扩展性强&#xff0c;可进行分布式部署&#xff0c;且具有高可用性。其许多优势使得越来越多的企业和组织选择MongoDB作为其数据库系统。本文将介绍如何在MongoDB中添加新用户。 第一步…

网页版Java五子棋项目(一)websocket【服务器给用户端发信息】

网页版Java五子棋项目&#xff08;一&#xff09;websocket【服务器给用户端发信息】 一、为什么要用websocket二、websocket介绍原理解析 三、代码演示1. 创建后端api&#xff08;TestAPI&#xff09;新增知识点&#xff1a;extends TextWebSocketHandler重写各种方法 2. 建立…

回顾 OWASP 机器学习十大风险

日复一日&#xff0c;越来越多的机器学习 (ML) 模型正在开发中。机器学习模型用于查找训练数据中的模式&#xff0c;可以产生令人印象深刻的检测和分类能力。机器学习已经为人工智能的许多领域提供了动力&#xff0c;包括情感分析、图像分类、面部检测、威胁情报等。 数十亿美…

生活小妙招之UE custom Decal

因为这几年大部分时间都在搞美术&#xff0c;所以博客相关的可能会鸽的比较多&#xff0c;阿巴阿巴 https://twitter.com/Tuatara_Games/status/1674034744084905986 之前正好看到一个贴花相关的小技巧&#xff0c;正好做一个记录&#xff0c;也在这个的基础上做一些小的拓展…

微信小程序前后页面传值

微信小程序前后页面传值 从前一个页面跳转到下一个页面&#xff0c;如何传递参数&#xff1f;从后一个页面返回前一个页面&#xff0c;如何回调参数&#xff1f; 向后传值 从前一个页面跳转到下一个页面并传值。 前页面&#xff1a;在跳转链接中添加参数并传递 wx.navigat…

MySQL体系结构和存储引擎【InnoDB特性】【4种隔离级别】【聚集索引】

1.概念 1.1 数据库 文件的集合 1.2 数据库实例 程序 1.3 数据库 & 数据库实例的关系 应用程序通过数据库实例和数据库打交道 2.InnoDB存储引擎 2.1 特性 2.1.1 支持事务 2.1.2 具有行锁设计 默认的读取操作不会产生锁 2.1.3 支持外键 2.1.4 通过多版本并发&am…

compile_and_runtime_not_namespaced_r_class_jar\debug\R.jar: 另一个程序正在使用

问题情况&#xff1a; run App的时候&#xff0c;提示该文件被占用 想要clean Project&#xff0c;还是提示该文件被占用&#xff0c;这个文件和连带的文件夹都无法被删除。 方法1&#xff1a; AndroidStudio下方的terminal&#xff08;没有这个窗口的话&#xff0c;从上面的…

Docker基本使用

查看本地镜像 查看本地&#xff1a;docker imagesPull镜像&#xff1a;docker pull nginx:latest登录镜像&#xff1a;docker login hub.docker.com -u **** -p ****制作镜像&#xff1a;docker build -t xxxx:v1push&#xff1a;docker push xxx:v1删除镜像:docker rmi #imag…

ELK 企业级日志分析系统(二)

目录 ELK Kiabana 部署&#xff08;在 Node1 节点上操作&#xff09; 1&#xff0e;安装 Kiabana 2&#xff0e;设置 Kibana 的主配置文件 3&#xff0e;启动 Kibana 服务 4&#xff0e;验证 Kibana 5&#xff0e;将 Apache 服务器的日志&#xff08;访问的、错误的&#x…

DC电源模块关于多路输出的问题

BOSHIDA DC电源模块关于多路输出的问题 DC电源模块通常具备多路输出功能&#xff0c;这使得它在实际应用中具有极高的灵活性和可扩展性。当需要为多个不同的负载提供电源时&#xff0c;多路输出的设计可以降低整个系统的成本和复杂度&#xff0c;同时也可以减少系统空间的占用。…

react钩子副作用理解

useEffect(() > { fetch(‘https://api.example.com/data’) .then(response > response.json()) .then(data > setData(data)); }, []); 怎么理解这个[] 在 React 中&#xff0c;useEffect 钩子用于处理副作用&#xff0c;比如数据获取、订阅、手动 DOM 操作等。useE…

基于Spring Boot的影视点播网站设计与实现(Java+spring boot+MySQL)

获取源码或者论文请私信博主 演示视频&#xff1a; 基于Spring Boot的影视点播网站设计与实现&#xff08;Javaspring bootMySQL&#xff09; 使用技术&#xff1a; 前端&#xff1a;html css javascript jQuery ajax thymeleaf 微信小程序 后端&#xff1a;Java springboot…

Centos 从0搭建grafana和Prometheus 服务以及问题解决

下载 虚拟机下载 https://customerconnect.vmware.com/en/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/17_0 cenos 镜像下载 https://www.centos.org/download/ grafana 服务下载 https://grafana.com/grafana/download/7.4.0?platformlinux …

C语言易错知识点总结1

生命周期&作用域 第 1 题&#xff08;单选题&#xff09; 题目名称&#xff1a; 局部变量的作用域是&#xff1a; 题目内容&#xff1a; A .main函数内部 B .整个程序 C .main函数之前 D .局部变量所在的局部范围 答案解析&#xff1a; 在C语言中&#xff0c;变量分为局部…