当前位置: 首页 > article >正文

【Spring Cloud Alibaba】基于Spring Boot 3.x 搭建教程

目录
  • 前言
  • 一、开发环境
  • 二、简介
    • 1.主要功能
    • 2.组件
  • 三、搭建过程
    • 1 - 主体工程搭建
    • 2 - 服务注册与发现组件 —— Nacos的安装
    • 3 - 服务注册与发现 —— 服务提供者
    • 4 - 服务注册与发现 —— 服务消费者
    • 5 - 服务配置中心
    • 6 - OpenFeign服务接口调用
    • 7 - OpenFeign高级特性
    • 8 - Spring Cloud Gateway网关
    • 9 - OpenFeign集成Sentinel实现服务降级

前言

本教程主要介绍如何基于Spring Boot 3.x搭建一个Spring Cloud Alibaba微服务项目,适合熟练使用Spring Boot框架,并且有进一步尝试Spring Boot新版本及学习搭建Spring Cloud Alibaba微服务项目的同学。

一、开发环境

工具

版本号

JDK

17

Spring Boot

3.0.13

Spring Cloud

2022.0.2

Spring Cloud Alibaba

2022.0.0.0

Nacos

2.3.0

SkyWalking

9.7.0

SkyWalking Java Agent

9.1.0

Maven

3.9.4

可自行参考官网版本说明

二、简介

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

依托 Spring Cloud Alibaba,我们只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。

此外,阿里云同时还提供了 Spring Cloud Alibaba 企业版 微服务解决方案,包括无侵入服务治理(全链路灰度,无损上下线,离群实例摘除等),企业级 Nacos 注册配置中心和企业级云原生网关等众多产品。

参考文档 请查看 官网
开源地址 请查看 Spring Cloud Alibaba

1.主要功能

  • 服务限流降级:默认支持 WebServlet、WebFlux、OpenFeign、RestTemplate、Spring Cloud Gateway、Dubbo 和 RocketMQ 限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。
  • 服务注册与发现:适配 Spring Cloud 服务注册与发现标准,默认集成对应 Spring Cloud 版本所支持的负载均衡组件的适配。
  • 分布式配置管理:支持分布式系统中的外部化配置,配置更改时自动刷新。
    消息驱动能力:基于 Spring Cloud Stream 为微服务应用构建消息驱动能力。
  • 分布式事务:使用 @GlobalTransactional 注解, 高效并且对业务零侵入地解决分布式事务问题。

2.组件

Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

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

RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。

Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。

三、搭建过程

本章节为教程总览,搭建过程会持续更新到当前章节

温馨提示: 请点击查看详情阅读具体内容

1 - 主体工程搭建

点击查看详情

2 - 服务注册与发现组件 —— Nacos的安装

点击查看详情

3 - 服务注册与发现 —— 服务提供者

点击查看详情

4 - 服务注册与发现 —— 服务消费者

点击查看详情

5 - 服务配置中心

点击查看详情

6 - OpenFeign服务接口调用

点击查看详情

7 - OpenFeign高级特性

点击查看详情

8 - Spring Cloud Gateway网关

点击查看详情

9 - OpenFeign集成Sentinel实现服务降级

点击查看详情

未完待续,持续更新中…


http://www.kler.cn/a/507494.html

相关文章:

  • Chapter1:初见C#
  • SpringBoot集成Mqtt服务实现消费发布和接收消费
  • npm发布组件(vue3+webpack)
  • 《小迪安全》学习笔记05
  • openssl s_server源码剥离
  • ecmascript:2.模版字符串
  • CVPR 2024 机器学习方向总汇(多任务、联邦学习、迁移学习和对抗等)
  • PHP转向Python时需要注意的地方
  • 米塔 v0.921 PC/手机版双端 全MOD+全服装(MiSide)免安装中文版 游戏推荐 免费下载
  • RV1126+FFMPEG推流项目(3)VI模块视频编码流程
  • 在PyCharm中使用Anaconda中的虚拟环境
  • Apache PAIMON 学习
  • vue3+ts+uniapp 微信小程序(第一篇)—— 微信小程序定位授权,位置信息权限授权
  • 2025.1.17——三、SQLi regexp正则表达式|
  • css3过渡总结
  • 菜品管理(day03)
  • FunASR 在Linux/Unix 平台编译
  • 渗透笔记1
  • AAPM:基于大型语言模型代理的资产定价模型,夏普比率提高9.6%
  • 深度学习加速性能分析与Roofline Model
  • PHP反序列化
  • 基于微信小程序的校园运动场地预约系统设计与实现
  • LeetCode 771. 宝石与石头
  • STM32 FreeRTOS时间片调度---FreeRTOS任务相关API函数---FreeRTOS时间管理
  • 人工智能领域单词:英文解释
  • LabVIEW串口通信调试与数据接收问题