谷粒商城学习笔记-2-分布式组件-SpringCloud Alibaba-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

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Cloud Alibaba Nacos 是一个服务注册中心和配置中心,可以实现服务的注册与发现、配置的动态管理等功能,同时还提供了容灾和高可用的支持。下面简单介绍如何使用 Nacos 实现 Spring Cloud 的配置容灾。 首先,在应用的 `pom.xml` 文件中添加如下依赖: ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.2.3.RELEASE</version> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2.2.3.RELEASE</version> </dependency> ``` 然后在 `application.properties` 中配置 Nacos 的地址和应用的名称: ```properties spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 spring.cloud.nacos.discovery.namespace=your-namespace spring.cloud.nacos.config.server-addr=127.0.0.1:8848 spring.cloud.nacos.config.namespace=your-namespace spring.cloud.nacos.config.file-extension=properties spring.application.name=your-application-name ``` 其中 `server-addr` 是 Nacos 的地址,`namespace` 是命名空间,`file-extension` 是配置文件的扩展名,`application.name` 是应用的名称。 接着在 `bootstrap.properties` 中配置应用的环境和配置来源: ```properties spring.profiles.active=dev spring.cloud.nacos.config.prefix=${spring.application.name}-${spring.profiles.active} spring.cloud.nacos.config.group=DEFAULT_GROUP spring.cloud.nacos.config.shared-dataids=${spring.application.name}-${spring.profiles.active}.properties ``` 其中 `spring.profiles.active` 是应用的环境,`prefix` 是配置文件的前缀,`group` 是配置文件所在的分组,`shared-dataids` 是配置文件的名称。 最后,在代码中使用 `@Value` 注解来获取配置项的值: ```java @RestController public class ConfigController { @Value("${config.key}") private String configValue; @GetMapping("/config") public String getConfig() { return configValue; } } ``` 其中 `config.key` 是配置项的名称。 以上就是使用 Nacos 实现 Spring Cloud 的配置容灾的简单示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小手追梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值