SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

这篇具有很好参考价值的文章主要介绍了SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:SpringCloud 微服务学习专栏
✨特色专栏:国学周更-心性养成之路
🥭本文内容:SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集
Spring Cloud Alibaba 是一个基于 Spring Cloud 的微服务工具集,它提供了一系列的组件和工具,帮助开发者快速构建和部署微服务应用。其中包括服务注册与发现、配置中心、消息总线、负载均衡、熔断器、限流器、分布式事务等功能。Spring Cloud Alibaba 还提供了一些特有的组件,如 Nacos、Sentinel、Seata 等,这些组件都是阿里巴巴在实际业务中使用的成熟技术,具有高可用、高性能、易用性等优点。通过使用 Spring Cloud Alibaba,开发者可以更加轻松地构建和管理微服务应用,提高开发效率和系统稳定性。

当前阿里巴巴版本为 2.2.1,Boot版本为 2.2.5。

1.简介

Spring Cloud Alibaba provides a one-stop solution for distributed application development. It contains all the components required to develop distributed applications, making it easy for you to develop your applications using Spring Cloud.

  • spring cloud 用来解决微服务系统中(分布式系统)解决方案
  • spring cloud alibaba 用来解决微服务系统中解决方案

With Spring Cloud Alibaba, you only need to add some annotations and a small amount of configurations to connect Spring Cloud applications to the distributed solutions of Alibaba, and build a distributed application system with Alibaba middleware.

2.环境搭建

要搭建 Spring Cloud Alibaba 微服务工具集环境,需要按照以下步骤进行:

  • 安装 JDK:首先需要安装 JDK,建议使用 JDK 8 或以上版本。

  • 安装 Maven:Spring Cloud Alibaba 微服务工具集使用 Maven 进行项目管理,需要安装 Maven。

  • 创建 Spring Boot 项目:使用 Spring Initializr 创建一个 Spring Boot 项目,选择需要的依赖,包括 Spring Cloud Alibaba 的相关依赖。

  • 配置 Nacos:Nacos 是 Spring Cloud Alibaba 提供的服务注册与发现组件,需要在项目中配置 Nacos 的地址和端口号。

  • 配置 Sentinel:Sentinel 是 Spring Cloud Alibaba 提供的流量控制和熔断降级组件,需要在项目中配置 Sentinel 的相关参数。

  • 配置 Seata:Seata 是 Spring Cloud Alibaba 提供的分布式事务组件,需要在项目中配置 Seata 的相关参数。

  • 编写业务代码:根据项目需求编写业务代码,使用 Spring Cloud Alibaba 提供的组件和工具进行开发。

  • 运行项目:使用 Maven 进行项目打包,然后在命令行中运行项目。

<parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
     <version>2.2.5.RELEASE</version>
</parent>

<properties>
    <spring.cloud.alibaba.version>2.2.1.RELEASE</spring.cloud.alibaba.version>
    <spring.cloud-version>Hoxton.SR6</spring.cloud-version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

<dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>${spring.cloud.alibaba.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring.cloud-version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

3.Nacos

什么是Nacos Name Service(服务注册与发现) & Configurations Services(统一配置中心)

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

  • https://nacos.io/zh-cn/index.html

  • Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

  • https://nacos.io/zh-cn/index.html

  • Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

安装Nacos

准备环境
  • 1.64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。必须满足
  • 2.64 bit JDK 1.8+;下载 & 配置。 必须满足
  • 3.Maven 3.2.x+;下载 & 配置。
1.下载nacos
  • https://github.com/alibaba/nacos/releases

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

2.解压缩安装包到指定位置
  • [root@localhost ~]# tar -zxvf nacos-server-1.3.1.tar.gz
  • bin 启动nacos服务的脚本目录
  • conf nacos的配置文件目录
  • target nacos的启动依赖存放目录
  • data nacos启动成功后保存数据的目录

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

3.启动安装服务
  • linux/unix/mac启动
    打开终端进入nacos的bin目录执行如下命令
    ./startup.sh -m standalone
  • windows启动
    在 cmd中
    执行 startup.cmd -m standalone
4.访问nacos的web服务管理界面
  • http://localhost:8848/nacos/
  • 用户名 和 密码都是nacos

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

开发服务注册到nacos

<!--引入nacos client的依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
1.配置注册地址
server.port=8789  #指定当前服务端口																			
							
spring.application.name=nacosclient		# 指定服务名称																	
spring.cloud.nacos.server-addr=localhost:8848	 #指定nacos服务地址
spring.cloud.nacos.discovery.server-addr=${spring.cloud.nacos.server-addr} #指定注册中心地址							
management.endpoints.web.exposure.include=*	 #暴露所有web端点

-------------------------------------------
server:
  port: 8851
spring:
  application:
    name: ORDERS
  cloud:
    nacos:
      server-addr: localhost:8848
2.加入启动服务注册注解

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

3.查看nacos的服务列表

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

点击详情

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

点击编辑

<img src="springcloud.assets/image-20230222211748920.png" 
alt="image-20230222211748920" style="zoom: 50%;" />

权重生效需要设置负载均衡策略为NacosRule,否则不生效

NACOSCLIENT:   # 被调用服务的名称
   ribbon:
     NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule

4.使用nacos作为配置中心

1.创建项目并引入nacons配置中心依赖

<!--引入nacos client 依赖-->
<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

<!--引入配置中心依赖-->
<dependency>
   <groupId>com.alibaba.cloud</groupId>
   <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2.配置配置中心地址

spring.cloud.nacos.server-addr=localhost:8848								# 远程配置中心的地址
spring.cloud.nacos.config.server-addr=${spring.cloud.nacos.server-addr}     # 去指定nacos地址读取配置
spring.cloud.nacos.config.group=DEFAULT_GROUP								# 读取配置的分组
spring.cloud.nacos.config.file-extension=properties					        # 指定读取文件后缀
spring.application.config.name=config										# 指定读取文件的前缀	


----------------------------------------------
spring:
  cloud:
    nacos:
      server-addr: localhost:8848
      config:
        group: DEFAULT_GROUP
        name: user-dev
        file-extension: yml
 		namespace: public

3.在nacos中创建配置

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

4.编写控制器测试配置读取情况

@RestController
@Slf4j
public class HelloController {
    //注入配置
    @Value("${user.name}")
    private String username;
    @GetMapping("/hello/config")
    public String config(){
        log.info("用户名: [{}]",username);
        return username;
    }
}

5.启动项目测试配置读取

DataId
1.DataId
- 用来读取远程配置中心的中具体配置文件其完整格式如下:
- ${prefix}-${spring.profile.active}.${file-extension}
	a. prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
	b. spring.profile.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
	c. file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。
实现自动配置刷新
 1.自动刷新
- 默认情况下nacos已经实现了自动配置刷新功能,如果需要刷新配置直接在控制器中加入@RefreshScope注解即可
@RestController
@Slf4j
@RefreshScope
public class HelloController {
    //注入配置
    @Value("${user.name}")
    private String username;
    @GetMapping("/hello/config")
    public String config(){
        log.info("用户名: [{}]",username);
        return username;
    }
}

日志频繁刷新,可设置日志输出的级别进行调整

# Nacos 注册中心客户端心跳日志禁用 get changedGroupKeys:[] 
logging:
  level:
    com.alibaba.nacos.client.config.impl: WARN

5.sentinel 流量卫兵

什么是sentinel

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

sentinel使用

- sentinel提供了两个服务组件:
	一个是 sentinel 用来实现微服务系统中服务熔断、降级等功能。                         这点和hystrix 类似
	一个是 sentinel dashboard 用来监控微服务系统中流量调用等情况 流控  熔断  降级 配置。 这点和hystrix  dashboard类似

1. sentinel dashboard的安装

# 1.下载
- https://github.com/alibaba/Sentinel/releases

2.启动

  • 仪表盘是个jar包可以直接通过java命令启动 如: java -jar 方式运行 默认端口为 8080
  • java -Dserver.port=9191 -jar sentinel-dashboard-1.7.2.jar

3.访问web界面

  • http://localhost:8080/#/login

    SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

4.登录

  • 用户名&密码: sentinel

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

sentinel 实时监控服务

# 1.创建项目引入依赖
<!--引入nacos client依赖-->
<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

<!--引入sentinel依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

配置

server.port=8789
spring.application.name=nacosclient
spring.cloud.nacos.server-addr=localhost:8848
spring.cloud.nacos.discovery.server-addr=${spring.cloud.nacos.server-addr}

spring.cloud.sentinel.enabled=true											 # 开启sentinel 默认开启
spring.cloud.sentinel.transport.dashboard=localhost:9191 # 连接dashboard
spring.cloud.sentinel.transport.port=8719	

启动服务

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

访问dashboard界面查看服务监控

  • 发现界面什么都没有?
  • 默认情况下sentiel为延迟加载,不会在启动之后立即创建服务监控,需要对服务进行调用时才会初始化

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

开发服务

@RestController
@Slf4j
public class SentinelController {
    @GetMapping("/sentinel/test")
    public String test(){
        log.info("sentinel test");
        return "sentinel test ";
    }

    @GetMapping("/sentinel/test1")
    public String test1(){
        log.info("sentinel test1");
        return "sentinel test1 ";
    }
}

启动进行调用

  • http://localhost:8080/sentinel/test

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集

查看监控界面

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集


  码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集文章来源地址https://www.toymoban.com/news/detail-439357.html

到了这里,关于SpringCloud 微服务系列——Spring Cloud Alibaba 微服务工具集的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java之SpringCloud Alibaba【七】【Spring Cloud微服务网关Gateway组件】

    Java之SpringCloud Alibaba【一】【Nacos一篇文章精通系列】 跳转 Java之SpringCloud Alibaba【二】【微服务调用组件Feign】 跳转 Java之SpringCloud Alibaba【三】【微服务Nacos-config配置中心】 跳转 Java之SpringCloud Alibaba【四】【微服务 Sentinel服务熔断】 跳转 Java之SpringCloud Alibaba【五】【微服务

    2024年02月06日
    浏览(63)
  • SpringBoot、SpringCloud、Spring Cloud Alibaba版本对照表(详细)

    由于 Spring Boot 3.0,Spring Boot 2.7~2.4 和 2.4 以下版本之间变化较大,目前企业级客户老项目相关 Spring Boot 版本仍停留在 Spring Boot 2.4 以下,为了同时满足存量用户和新用户不同需求,社区以 Spring Boot 3.0 和 2.4 分别为分界线,同时维护 2022.x、2021.x、2.2.x 三个分支迭代。如果不想跨

    2024年02月12日
    浏览(59)
  • SpringBoot、SpringCloud、Spring Cloud Alibaba版本对照表(详细准确)

    ❤️一切信息来自官网,准确详细❤️ Spring Cloud Version Spring Boot Version 2022.0.x aka Kilburn 3.0.x 2021.0.x aka Jubilee 2.6.x, 2.7.x (Starting with 2021.0.3) 2020.0.x aka Ilford 2.4.x, 2.5.x (Starting with 2020.0.3) Hoxton 2.2.x, 2.3.x (Starting with SR5) Greenwich 2.1.x Finchley 2.0.x Edgware 1.5.x Dalston 1.5.x Spring Cloud Dalston, Ed

    2024年02月13日
    浏览(52)
  • SpringCloud学习6(Spring Cloud Alibaba)断路器Sentinel熔断降级

    SpringCloud、SpringCloudAlibaba、SpringBoot版本选择。为了避免各种千奇百怪的bug,我们还是采用官方推荐的毕业版本。 修改tomcat配置最大线程数 引入测试依赖 编写测试代码 这里同时我们在浏览器去请求该地址,响应会变得很慢 测试结论:此时会发现由于thread接口囤积大量请求,

    2023年04月08日
    浏览(51)
  • SpringCloud.04.熔断器Hystrix( Spring Cloud Alibaba 熔断(Sentinel))

    目录 熔断器概述 使用Sentinel工具 什么是Sentinel 微服务集成Sentinel 配置provider文件,在里面加入有关控制台的配置 实现一个接口的限流 基本概念 重要功能 Sentinel规则 流控规则 简单配置 配置流控模式 配置流控效果 降级规则 @SentinelResource的使用 Feign整合Sentinel 由于Hystrix已经停

    2024年01月19日
    浏览(44)
  • Spring Cloud Alibaba 系列之 Gateway(网关)

    网关作为流量的入口,常用的功能包括路由转发,权限校验,限流等。 Spring Cloud Gateway 是Spring Cloud官方推出的第二代网关框架,定位于取代 Netflix Zuul1.0。相比 Zuul 来说,Spring Cloud  Gateway 提供更优秀的性能,更强大的有功能。 Spring Cloud Gateway 是由 WebFlux + Netty + Reactor 实现的

    2024年02月10日
    浏览(46)
  • Spring Cloud Alibaba-01-微服务介绍

    Lison dreamlison@163.com , v1.0.0 , 2023.05.07 架构的演变 随着互联网的发展,网站应用的规模也不断的扩大,进而导致系统架构也在不断的进行变化,从互联网早起到现在,系统架构大体经历了下面几个过程: 单体应用架构: 把所有功能都集中在一个应用中,统一部署,开发成本、

    2024年02月22日
    浏览(84)
  • 【微服务 Spring Cloud Alibaba】- Nacos 服务注册中心

    目录 1. 什么是注册中心? 1.2 注册中心的作用 2. SpringBoot 整合 Nacos 实现服务注册中心 2.1 将服务注册到 Nacos 2.2 实现消费者 3. 服务列表各个参数的含义、作用以及应用场景 注册中心是微服务架构中的一个重要组件,它用于实现 服务注册 与 服务发现 。 【思考一】什么叫服务

    2024年02月06日
    浏览(80)
  • Spring Cloud Alibaba - 服务注册与发现(Nacos)

    ✅作者简介:热爱Java后端开发的一名学习者,大家可以跟我一起讨论各种问题喔。 🍎个人主页:Hhzzy99 🍊个人信条:坚持就是胜利! 💞当前专栏:微服务 🥭本文内容:Spring Cloud Alibaba - 服务注册与发现(Nacos)。 在微服务架构中,服务注册与发现是其中的重要一环。服务

    2024年02月07日
    浏览(90)
  • 【Spring Cloud】如何确定微服务项目的Spring Boot、Spring Cloud、Spring Cloud Alibaba的版本

    本文描述如何确定微服务项目的Spring Boot、Spring Cloud、Spring Cloud Alibaba的版本。 我们知道Spring Boot、Spring Cloud、Spring Cloud Alibaba的版本选择一致性非常重要。在选择Spring Boot和Spring Cloud版本时,需要考虑到两者之间的关系以及项目的具体需求。 首先,Spring Boot和Spring Cloud有密切

    2024年02月08日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包