谷粒商城学习笔记-2-分布式组件-SpringCloud Alibaba-Nacos注册中心

文章目录

  • 一,Nacos简介
    • 1,简介
    • 2,Nacos原理剖析
  • 二,Nacos服务端安装
    • 1,下载 nacos-server
    • 2,解压启动nacos-server
    • 3,验证
  • 三,服务注册步骤
    • 1,引用Nacas客户端的Jar包
    • 2,服务启动类增加注解
    • 3,配置Nacos服务器地址
  • 四,验证
  • 错误记录

一,Nacos简介

1,简介

Nacos是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

Nacos是使用 java 编写,需要依赖 java 环境。

Nacos 文档地址: https://nacos.io/zh-cn/docs/quick-start.html

2,Nacos原理剖析

Nacos是CS架构,有客户端和服务端。

客户端分为服务提供者和服务调用者。

服务提供者将服务的IP和端口注册到Nacos服务器,这个过程称之为服务注册。

服务调用者根据服务名从Nacos服务器获取服务提供者的地址信息,这个过程称之为服务发现。

在这里插入图片描述

以上图为例简要说明Nacos注册中心的原理

  • Nacos服务端就是注册中心
  • 注册1:服务1依赖了Nacos客户端相关的Jar包,启动成功后会将自身IP和端口注册到注册中心
  • 注册2:服务2依赖了Nacos客户端相关的Jar包,启动成功后会将自身IP和端口注册到注册中心
  • 服务2要调用服务1的,首先从注册中心查询到服务1的地址,然后向服务1发起调用请求

二,Nacos服务端安装

1,下载 nacos-server

进入NacosServer下载页面,下载Nacos安装包。

2,解压启动nacos-server

解压后 双击 bin 中的 startup.cmd 文件,nacos-server就启动了。

3,验证

浏览器访问nacos-server界面,地址是http://localhost:8848/nacos/。

打开后,需要输入用户名密码,默认的用户名是nacos,密码也是nacos

在这里插入图片描述

上图是Nacos服务端的前端界面,服务列表中会展示所有注册到Nacos的服务。

接下来,我们将之前已经配置好的服务注册到Nacos。

三,服务注册步骤

1,引用Nacas客户端的Jar包

考虑到所有的服务都需要这个Jar包,所以,在common模块的pom文件中声明这个依赖。

在这里插入图片描述

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

2,服务启动类增加注解

在需要注册到Nacos的服务启动类上,增加注解EnableDiscoveryClient。

在这里插入图片描述
这个注解的作用是在服务启动后,将IP和端口注册到Nacos服务器上。

3,配置Nacos服务器地址

因为要把IP和端口注册到Nacos服务器上,所以需要知道Nacos服务器的地址,在配置文件中配置即可。

除此之外,还要配置服务名称,其他服务是根据服务名称在Nacos注册中心查找服务的,服务名会显示在Nacos的服务列表里。

  cloud:nacos:discovery:server-addr: localhost:8848      application:name: gulimall-coupon

四,验证

启动服务,启动成功后,在nacos注册服务的页面上查看服务列表。

在这里插入图片描述

发现服务列表中已经有刚刚启动的服务的信息,说明服务注册成功。

错误记录

这个过程中的错误记录在另一篇博客中,请参考https://blog.csdn.net/epitomizelu/article/details/140279859。

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

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

相关文章

c++之命名空间详解(namespace)

引例 在学习之前我们首先了来看这样一个情形: 在c语言下&#xff0c;我们写了两个头文件&#xff1a;链表和顺序表的。我们会定义一个type(typedef int type)方便改变数据类型&#xff08;比如将int改成char&#xff09;&#xff0c;来做到整体代换。 但是我们两个头文件里面…

python实现接口自动化

代码实现自动化相关理论 代码编写脚本和工具实现脚本区别是啥? 代码&#xff1a; 优点&#xff1a;代码灵活方便缺点&#xff1a;学习成本高 工具&#xff1a; 优点&#xff1a;易上手缺点&#xff1a;灵活度低&#xff0c;有局限性。 总结&#xff1a; 功能脚本&#xff1a;工…

【C++】BMP图片结构深度解析及其在C++中的操作与应用

引言 BMP&#xff08;Bitmap Image File&#xff09;是一种与设备无关的图像文件格式&#xff0c;它采用了一种非常直接的方式来存储图像数据&#xff0c;即按照图像的行和列顺序&#xff0c;逐像素地存储颜色值。由于其简单性和可移植性&#xff0c;BMP文件在图像处理、图像分…

windows电脑桌面便签在哪里找?

在忙碌的工作中&#xff0c;我们经常会有很多事情需要记住。这时&#xff0c;电脑桌面便签就成为了我们的好帮手。那么&#xff0c;在Windows电脑上&#xff0c;我们该如何找到桌面便签呢&#xff1f;下面&#xff0c;就让我来为大家详细介绍一下。 其实&#xff0c;Windows电…

Failed building wheel for pyaudio Running setup.py clean for pyaudio

从错误信息来看&#xff0c;问题出在 pyaudio 包的构建过程中。具体来说&#xff0c;缺少 portaudio.h 头文件&#xff0c;这通常是因为系统上没有安装 portaudio 库。 以下是解决此问题的步骤&#xff1a; 安装系统依赖&#xff1a; 在大多数基于 Debian 的系统&#xff08;如…

elementui的table的@selection-change阻止事件改变

说明&#xff1a; 最近有个不想说的&#xff08;xxx&#xff09;业务&#xff0c;在表格勾选每一行的时候要触发一系列查询功能&#xff0c;查询失败还要把那个勾勾回退。真实蛋疼&#xff01;表格勾选的默认selection-change是change事件&#xff0c;一般change事件是在完成之…

数据库的操作

【一】库的增删改查 【0】导入数据文件 source D:\bjpowernode.sql 【1】创建数据库 语法&#xff1a; create database [if not exists] 数据库名 [character set 编码字符集]; create databases db1; # 设置库的默认编码 create databases db1 charsetgbk; 【2】查看数据…

Argo怎么使用?

Argo是一款基于Kubernetes的开源工作流引擎&#xff0c;用于创建、调度和监控容器化工作流。以下是关于Argo使用的基本步骤和要点&#xff1a; 1. **安装Argo** - 首先&#xff0c;确保已经安装了Kubernetes集群&#xff0c;并且拥有kubectl命令行工具的访问权限。 - 使用kubec…

告别盲目跟风!1688竞品数据分析实战指南(图文解析)

不管是哪个行业&#xff0c;想把这个做起来&#xff0c;做下去&#xff0c;第一就要学会模仿&#xff0c;不要自己盲目瞎做&#xff0c;因为别人的数据&#xff0c;都是得到了认可的&#xff0c;先模仿后超越&#xff0c;1688运营里面模仿就是要学会看竞品&#xff0c;店雷达总…

【spring boot项目】统一返回结果封装

ResultCode.java package cn.clz.rental.utils; /*** 定义HTTP状态码常量* 这些常量用于表示不同类型的HTTP响应状态。*/ public class ResultCode {// 表示请求成功的状态码public static final Integer SUCCESS 200;// 表示服务器内部错误的状态码public static final Inte…

基于AD8232的心电图套件的测试

基于AD8232的心电图套件的测试 1、测试设备2、电源的选择3、 用于测试心电图套件的模拟心电图电路基本4017B的电路基于multisim的电路仿真基于STM32F103RCT6 参考测试数据 1、测试设备 1、AD8232心电模块 2、手持示波器 3、心电信号模拟发生器 4、NI multisim 14.3 5、实物待补…

django后台定制

Django 后台&#xff08;Admin&#xff09;是一个强大的工具&#xff0c;用于管理 Django 项目中的数据模型。然而&#xff0c;默认的 Django Admin 可能无法满足所有项目的需求&#xff0c;因此经常需要进行定制。以下是一些关于 Django 后台定制的推荐、介绍以及技术实现的建…

基于BERT的大规模文本处理实战

1. 引言 ChatGPT4相比于ChatGPT3.5,有着诸多不可比拟的优势&#xff0c;比如图片生成、图片内容解析、GPTS开发、更智能的语言理解能力等&#xff0c;但是在国内使用GPT4存在网络及充值障碍等问题&#xff0c;如果您对ChatGPT4.0感兴趣&#xff0c;可以私信博主为您解决账号和环…

英语口语中just的各种含义用法解析

文章目录 英语口语中"Just"的各种含义与用法解析1. 表示时间的近义1.1 刚刚完成的动作1.2 紧接着要发生的动作 2. 用于强调2.1 强调事实2.2 强调公正或合理性 3. 用作限定词3.1 限定数量或范围3.2 限定意见或观点 4. 表示简单或纯粹4.1 表达无关紧要的事4.2 描述纯粹…

达梦数据库系列—23. DSC集群搭建

目录 DSC搭建 1、环境准备 1.硬件 2.存储设备 3.操作系统 4.网络配置 5.防火墙 6.Selinux检查 7.用户准备 8.目录规划 9.软件安装 10.磁盘准备 2、搭建两节点 DMDSC 1.准备配置文件 dmdcr_cfg.ini 2.使用 DMASMCMD 工具初始化所有磁盘 3.使用 dmdcr_cfg.ini 配…

全卷积网络之FCN图像语义分割

前言 FCN是一种用于图像语义分割的全卷积网络&#xff0c;可以端到端进行像素级预测。 语义分割 图像语义分割是图像处理和机器视觉技术中的重要一环&#xff0c;旨在对图像中的每个像素进行分类。与普通的分类任务不同&#xff0c;语义分割任务输出与输入大小相同的图像&…

C#跨线程访问控件以及方法

在C#中,如果需要跨线程访问控件或调用方法,通常需要考虑到UI线程和后台线程之间的调度问题。以下是一些常见的方法: 1. 使用 Control.Invoke 或 Control.BeginInvoke 在WinForms或WPF应用程序中,如果在非UI线程中访问控件或调用UI相关方法,可以使用 Control.Invoke 或 C…

鸿蒙语言基础类库:【@ohos.uri (URI字符串解析)】

URI字符串解析 说明&#xff1a; 本模块首批接口从API version 8开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档&#xff1a;gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 导入…

亿康源精英盛宴暨亿康源启动成功举办

&#xff08;本台记者报&#xff09;2024年7月7日下午&#xff0c;亿康源精英盛宴暨启动仪式在杭州市中维歌德大酒店盛大举行。此次盛会不仅吸引了行业内的专业人才、著名投资界大咖和科技领域的杰出企业家&#xff0c;还汇聚了众多关注大健康产业的各界人士&#xff0c;共同见…

软件设计之Java入门视频(13)

软件设计之Java入门视频(13) 视频教程来自B站尚硅谷&#xff1a; 尚硅谷Java入门视频教程&#xff0c;宋红康java基础视频 相关文件资料&#xff08;百度网盘&#xff09; 提取密码&#xff1a;8op3 idea 下载可以关注 软件管家 公众号 学习内容&#xff1a; 该视频共分为1-7…