SpringCloudAlibaba-nacos简单使用

概述 

Spring Cloud Alibaba 致力于提供微服务开发的 一站式解决方案。 此项目包含开发分布式 应用微服务的必需组件,方便开发者通过Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

Spring Cloud Alibaba定位

1.对Spring Cloud的标准实现

2.以微服务为核心的整体解决方案

3.开源与平台服务分别维护

Spring Cloud Alibaba的版本依赖

我们在使用时应注意版本依赖以避免不必要的报错
SpringCloud Alibaba SpringCloud SpringBoot 版本对应关系

Nacos介绍 

Nacos 是阿里巴巴开源的服务注册中心以及配置中心,致力于给开发者提供一款便捷、简单上手的开源框架。
Spring Cloud的组件

Nacos的四大功能

1.服务发现和服务健康监测

但在微服务系统中,需要对一个应用系统根据其功能特点,按照一定粒度进行拆分后单独部署,以便实现模块内的高内聚,模块间的低耦合,实现整个微服务系统的高可扩展性。

一次在一个应用内即可完成的请求处理,会出现跨进程跨主机的服务调用,如何让这个服务之间能互相发现像单体式应用一样提供统一对外的服务调用能力是微服务框架层面需要重点解决的核心问题之一。 在 Spring Cloud 生态中,采用了如下服务注册与发现模型,来实现微服务之间的互相发现与调用。

2.动态配置服务

     简单介绍一下配置的概念,软件系统中的配置是指在软件运行过程中所需要的各种设定和参数,包括系统配置、应用配置和用户配置等。系统配置包括操作系统、硬件和网络等基本环境参数的设定;应用配置包括应用程序的各种参数和选项的设定,如数据库连接字符串、日志级别等;用户配置则是指用户自定义的各种选项和参数,如快捷键、界面布局、语言等。
       这些配置信息如数据库连接信息、日志级别、业务配置等等。在传统的开发方式中,这些配置信息通常硬编码到应用程序的代码中,与程序代码一起打包和部署。然而,这种方式有很多缺点,比如配置信息不易维护,只要修改配置就得重新构建和部署等。

   动态配置服务允许您在所有环境中以集中和动态的方式管理所有服务的配置。Nacos 消除了在更新配置时重新部署应用程序,这使配置的更改更加高效和灵活。

3.动态 DNS 服务

      Nacos 提供基于 DNS 协议的服务发现能力,旨在支持异构语言的服务发现,支持将注册在Nacos 上的服务以域名的方式暴露端点,让三方应用方便查阅及发现。

4.服务及其元数据管理

Nacos 能让您从微服务平台建设的视觉管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析,服务的健康状态、服务的流量管理、路由及安全策略。

Nacos安装部署

1.准备机器(虚拟机/云服务器)

2.安装所需要的软件

2.1安装JDK17

#在虚拟机中直接下载到当前路径下

wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

#解压jdk17

tar -zxvf  jdk-17_linux-x64_bin.tar.gz  -C /usr/local

#编辑jdk17的配置文件

cd /usr/local/jdk-17.0.11

vim etc/profile

#添加变量到全局中

export JAVA_HOME=/usr/local/jdk-17.0.11
export PATH=$PATH:$JAVA_HOME/bin;
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar;

#保存,退出

:wq

2.2.查看JDK17是否安装成功

#查看jdk版本号

java -version 

 3.安装Nacos

3.1安装准备

安装方式

方式1

从官网下载安装包解压到服务器中

方式2

源码

3.2启动

#Linux/Unix/Mac
# 启动命令 (standalone 代表着单机模式运行,非集群模式 ): 
#需要从nacos的安装路径下的bin路径启动
sh startup.sh -m standalone
#关闭命令
sh shutdown.sh -m standalone
#ubuntu 系统
bash startup.sh -m standalone
# 3 Windows
# 启动命令 (standalone 代表着单机模式运行,非集群模式 ):
startup.cmd -m standalone

4.Nacos简单使用(将应用注册到Nacos)

4.1 引入起步依赖

4.2 编辑该项目配置文件(配置文件中指明Nacso配置中心的地址)

spring:
  cloud:
    nacos:
       discovery:
           #naocs服务器的ip地址及端口号
           192.168.10.100:8080
       

4.3 编写启动类

@Slf4j
//向注册中心注册该服务,并可以获取其他服务的调用地址
@EnableDiscoveryClient
@SpringBootApplication
public class TestNacosApplication(){
  public void main(String[] args){
   SpringApplication.run(TestNacosApplication.class);
   log.info("******测试Nacos注册服务******");
  }
}

4.4 访问nacos节点

访问  http://192.168.10.100:8080/nacos  即可进入

5.Nacos主流的配置中心 

        naco作为服务注册中心。其实它也集成了服务配置的功能,我们可以直接使用它作为服务配置中心

       

5.1应用和配置中心间的数据同步

5.1.1 pull模式
        让应用开后长轮询,即定时地从配置中心拉取最新的配置信息,并更新到应用的内存中。
5.1.2 push模式
    在配置中心配置数据变更之后,主动推送配置数据到指定的应用,应用更新到本地内存中。
5.1.3 混合模式
     应用和配置中心通过 事件机制+监听器 模式保持长连接。如果应用监听的配置信息发生了变化,则配置中心发布对应类型的事件。应用只有在监听到该事件之后, 才会处理对应的配置信息,并更新到应用本地。

5.2分布式配置中心 

 优点:

 1.支持配置文件的动态更新

        在实际的业务开发过程中,动态地更新配置文件,比如切换业务功能开关、变更图片服务器地址、变更数据库连接信息等。

 2.支持配置集中式管理

3.支持多环境部署

5.2.1命名空间--NameSpace

作用:主要进行多环境下的管理和隔离,还用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。

    在微服务体系中,一个系统往往被拆分为多个服务,每个服务都有自己的配置文件,然后每个系统往往还会准备开发环境、测试环境、正式环境。

 

5.2.2 Data ID配置

     Data ID 通常用于组织划分系统的配置集。一个系统或者应用可以包含多个配置集,每个配置集都可以被一个有意义的名称标识。 在系统中,一个配置文件通常就是一个配置集。一般微服务的配置就是一个配置集。
DataId的拼接格式
// ${prefix} 应用名字 
// ${spring.profile.active} 对应环境
// ${file-extension} 文件后缀

${prefix}-${spring.profile.active}.${file-extension}

//当未区分开发,测试,生产环境时
${prefix}.${file-extension}

在新建的命名空间下配置DataID

对应的服务的配置文件

5.2.3分布式配置中心Group分组

     当您在 Nacos上创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用DEFAULT_GROUP。

 6.0分布式配置中心应用-动态刷新

1.引入依赖

//spring-cloud nacos 配置中心服务发现的起步依赖
<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

2.编写配置文件

 #启动类上方加上

#服务注册与发现

@EnableDiscoveryClient

#对应的controller加上即可以完成动态刷新

@RefreshScope

  • 14
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
您好!要搭建Spring Cloud Alibaba Nacos项目,您可以按照以下步骤进行操作: 1. 创建Spring Boot项目:首先,在您的IDE中创建一个新的Spring Boot项目。 2. 添加依赖:在项目的pom.xml文件中添加相应的依赖。您需要添加以下四个核心依赖: ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> ``` 3. 配置Nacos Server地址:在application.properties(或application.yml)文件中配置Nacos Server的地址。例如: ```yaml spring.cloud.nacos.discovery.server-addr=${NACOS_SERVER_ADDR:localhost:8848} ``` 4. 创建服务提供者和消费者:根据您的需求,创建相应的服务提供者和消费者。您可以使用`@RestController`注解创建简单的RESTful接口。 5. 注册服务:在服务提供者的主类上添加`@EnableDiscoveryClient`注解,以将服务注册到Nacos Server上。 6. 调用服务:在服务消费者中使用`@RestTemplate`或Feign等方式调用服务。您可以通过在方法上添加`@LoadBalanced`注解来实现负载均衡。 7. 启动应用程序:最后,启动应用程序并验证各个微服务之间的通信是否正常。 这些是搭建Spring Cloud Alibaba Nacos项目的基本步骤。根据您的具体需求,您可能还需要配置其他功能,如动态配置等。希望对您有帮助!如有更多问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Victor故里

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

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

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

打赏作者

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

抵扣说明:

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

余额充值