设为首页 加入收藏

TOP

Spring Cloud Alibaba组件之Nacos(一)
2023-07-25 21:39:35 】 浏览:64
Tags:Spring Cloud Alibaba Nacos

目录结构:

  一、Spring Cloud Alibaba简介

  二、使用版本情况

  三、什么是Nacos?

  四、Nacos运行环境部署

  五、Nacos注册中心

  六、Nacos命名空间和分组

  七、Nacos配置中心

  八、基于profile多环境配置

  九、Nacos配置中心动态刷新

  十、Nacos数据持久化

  十一、Nacos集群部署

一、Spring Cloud Alibaba简介

Spring Cloud Alibaba是Spring Cloud下的一个子项目,Spring Cloud Alibaba为分布式应用程序开发提供了一站式解决方案,它包含开发分布式应用程序所需的所有组件,使您可以轻松地使用Spring Cloud开发应用程序,使用Spring Cloud Alibaba,您只需要添加一些注解和少量配置即可将Spring Cloud应用程序整合Alibaba的分布式解决方案,并使用Alibaba中间件构建分布式应用程序系统。

二、使用版本情况

1、项目所使用的的版本

Spring Cloud Alibaba Version Spring Cloud Version Spring Boot Version
2.2.9.RELEASE Spring Cloud Hoxton.SR12 2.3.12.RELEASE

2、Spring Cloud Alibaba 版本及其自身所适配的各组件对应版本:

Spring Cloud Alibaba Version Nacos Version Sentinel Version Seata Version RocketMQ Version Dubbo Version
2.2.9.RELEASE 2.0.4 1.8.5 1.5.2 4.9.4 2.7.13

三、什么是Nacos?

Nacos是阿里巴巴2018年7月推出来的一个开源项目,是一个构建微服务应用的服务注册与发现、配置管理平台;

Nacos 属于Spring Cloud Alibaba下的一个组件;

Nacos 约等于 Spring Cloud Eureka(注册中心)+ Spring Cloud Config(配置中心)

Nacos官网:https://nacos.io/

四、Nacos运行环境部署

服务端(部署一个nacos-server)+ 客户端(你的各个服务)

步骤:

  1、下载Nacos的二进制压缩包

  下载地址:https://github.com/alibaba/nacos/releases

  2、解压下载下来的Nacos的二进制压缩包  

  tar -zxvf nacos-server-2.0.4.tar.gz

  3、启动nacos server

  [root@localhost bin]# ./startup.sh -m standalone

  注:单机环境必须带-m standalone参数启动,否则无法启动,不带参数启动的是集群环境

  4、访问nacos的web客户端地址:http://ip地址:8848/nacos

  使用默认的用户名:nacos、密码:nacos

  5、关闭nacos server

  [root@localhost bin]# ./shutdown.sh

五、Nacos注册中心

Nacos注册中心可以说是类似于Eureka-server的功能

微服务开发是controller调用controller,调用者是服务消费者,被调用者是服务提供者,服务消费者和服务提供者是相对概念,服务消费者也可以被另一个服务调用,那么此时的服务消费者也是一个服务提供者;

在实际开发中,我们会把所有服务都注册到nacos注册中心上,由nacos去维护和管理我们的所有服务。

5.1、实现服务提供者

1、pom.xml 文件中引入Nacos Discovery Starter依赖

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

2、配置文件application.yml中添加Nacos Server地址

spring:
  cloud:
    nacos:
      discovery:
        server-addr: http://ip地址:8848/nacos
        username: nacos
        password: nacos

  application:
    name: nacos-provider

注意:如果不想使用Nacos作为你的服务注册与发现,可以将spring.cloud.nacos.discovery.enabled 设置为 false。

3、启动项目,此时就可以在Nacos的web管控台上看到注册上来的服务信息了;

 5.2、实现服务消费者

消费者应用比提供者应用要稍微复杂一点,因为在消费端需要去调用提供者提供的REST服务,此时需要用到RestTemplate、OpenFeign及负载均衡Spring Cloud LoadBalancer。

1、添加OpenFeign、Nacos Discovery Starter依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>2.2.9.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

2、配置文件application.yml中添加Nacos Server地址

spring:
  cloud:
    nacos:
      discovery:
        server-addr: http://ip地址:8848/nacos
        username: nacos
        password: nacos

  application:
    name: nacos-consumer

3、新建Feign接口,调用服务提供者

// nacos-provider是服务提供者的应用名,也就是注册到Nacos中的应用名
@FeignClient(value = "nacos-provider")
public interface ProductFeign {
    // 服务提供者对应的controller接口
    @GetMapping("/product/{id}")
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇【深度思考】如何优雅的校验参数? 下一篇每日算法之求1+2+3+...+n

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目