Spring全家桶 、Dubbo、分布式、消息队列后端必备全套开源项目

本文涉及的产品
可观测链路 OpenTelemetry 版,每月50GB免费额度
性能测试 PTS,5000VUM额度
简介: 基于 Spring Boot 2.X 版本的深度入门教程。市面上的 Spring Boot 基础入门文章很多,但是深度入门文章却很少。对于很多开发者来说,入门即是其对某个技术栈的最终理解,一方面是开发者“比较懒”,另一方面是文章作者把 Spring Boot 入门写的太浅,又或者不够全面。

Spring Boot 专栏

基于 Spring Boot 2.X 版本的深度入门教程。

市面上的 Spring Boot 基础入门文章很多,但是深度入门文章却很少。对于很多开发者来说,入门即是其对某个技术栈的最终理解,一方面是开发者“比较懒”,另一方面是文章作者把 Spring Boot 入门写的太浅,又或者不够全面。

因此,作者开始了这个 Spring Boot 专栏,一个深度全面的 Spring Boot 2.X 入门。

  • 在带你快速学会 SpringMVC API 接口的编写的同时,我还想告诉你还有全局返回、全局异常、拦截器、跨域处理等等功能。
  • 在带你快速学会 MQ 消息的发送与消费的同时,我还想告诉你 MQ 还有集群消费、广播消费、顺序消息、定时消息、事务消息、消费重试等等特性。
  • 在带你快速学会 Job 任务的编写的同时,我还想告诉你还有 Quartz 单体、Quartz 集群、XXL-JOB 等等企业使用更多的调度平台。
  • ...

让我们一起愉快的挖坑,挖深坑,哇哈哈。

打好基础

  • 《Spring Boot 快速入门》
  • 《Spring Boot 自动配置原理》 对应 lab-47
  • 《Spring Boot 芋道 Spring Boot Jar 启动原理》

开发工具

  • 《 Spring Boot 热部署入门》 对应 lab-48-hot-swap
  • 《Spring Boot 消除冗余代码 Lombok 入门》 对应 lab-49
  • 《Spring Boot 对象转换 MapStruct 入门》 对应 lab-55

Web 开发

  • 《Spring Boot SpringMVC 入门》 对应 lab-23
  • 《Spring Boot WebFlux 入门》 对应 lab-27
  • 《Spring Boot 分布式 Session 入门》 对应 lab-26
  • 《Spring Boot API 接口文档 Swagger 入门》 对应 lab-24
  • 《Spring Boot 参数校验 Validation 入门》 对应 lab-22
  • 《Spring Boot WebSocket 入门》 对应 lab-25
  • 《性能测试 —— Tomcat、Jetty、Undertow 基准测试》 对应 lab-05-benchmark-tomcat-jetty-undertow
  • 《性能测试 —— SpringMVC、Webflux 基准测试》 对应 lab-06

RPC 开发

  • 《Spring Boot Netty 入门》 对应 lab-67
  • 《Spring Boot Dubbo 入门》 对应 lab-30
  • 《Spring Boot 声明式调用 Feign 入门》 对应 lab-58
  • 《Spring Boot gRPC 入门》 对应 lab-64
  • 《Spring Boot Web Services 入门》 对应 lab-65
  • 《Spring Boot SOFARPC 入门》 对应 lab-62
  • 《Spring Boot Motan 入门》 对应 lab-63
  • 《Spring Boot RSocket 入门》计划中...

数据访问

关系数据库

  • 《Spring Boot 数据库连接池入门》 对应 lab-19
  • 《Spring Boot MyBatis 入门》 对应 lab-12-mybatis
  • 《Spring Boot JPA 入门》 对应 lab-13-spring-data-jpa
  • 《Spring Boot JdbcTemplate 入门》 对应 lab-14-spring-jdbc-template
  • 《Spring Boot 多数据源(读写分离)入门》 对应 lab-17
  • 《Spring Boot 分库分表入门》 对应 lab-18
  • 《Spring Boot 数据库版本管理入门》 对应 lab-20

非关系数据库

  • 《Spring Boot Redis 入门》 对应 lab-11-spring-data-redis
  • 《Spring Boot 缓存 Cache 入门》 对应 lab-21
  • 《Spring Boot MongoDB 入门》 对应 lab-16-spring-data-mongo
  • 《Spring Boot Elasticsearch 入门》 对应 lab-15-spring-data-es
  • 《Spring Boot Solr 入门》 对应 lab-66

事务管理

  • 《Spring Boot 分布式事务 Seata 入门》 对应 lab-52

安全控制

  • 《Spring Boot 安全框架 Spring Security 入门》 对应 lab-01-spring-security
  • 《Spring Boot 安全框架 Shiro 入门》 对应 lab-33

OAuth 2.0

  • 《Spring Security OAuth2 入门》 对应 lab-68-spring-security-oauth
  • 《Spring Security OAuth2 存储器》 对应 lab-68-spring-security-oauth
  • 《Spring Security OAuth2 单点登陆》 对应 lab-68-spring-security-oauth

定时任务与异步任务

  • 《Spring Boot 定时任务入门》 对应 lab-28
  • 《Spring Boot 异步任务入门》 对应 lab-29

消息队列

  • 《Spring Boot 消息队列 RocketMQ 入门》 对应 lab-31
  • 《Spring Boot 消息队列 Kafka 入门》 对应 lab-03-kafka
  • 《Spring Boot 消息队列 RabbitMQ 入门》 对应 lab-04-rabbitmq
  • 《Spring Boot 消息队列 ActiveMQ 入门》 对应 lab-32
  • 《Spring Boot 事件机制 Event 入门》 对应 对应 lab-54

配置中心

  • 《Spring Boot 配置文件入门》 对应 lab-43
  • 《Spring Boot 配置中心 Apollo 入门》 对应 lab-45
  • 《Spring Boot 配置中心 Nacos 入门》 对应 lab-44

注册中心

  • 《Spring Boot 注册中心 Nacos 入门》 对应 lab-44

持续交付

  • 《Spring Boot 持续交付 Jenkins 入门》 对应 lab-41
  • 《Spring Boot 单元测试 Test 入门》 对应 lab-42
  • 《Spring Boot 容器 Docker 入门》计划中...

服务容错

  • 《Spring Boot 服务容错 Sentinel 入门》 对应 lab-46
  • 《Spring Boot 服务容错 Hystrix 入门》 对应 lab-57
  • 《Spring Boot 服务容错 Resilience4j 入门》 对应 lab-59

监控管理

  • 《Spring Boot 异常管理平台 Sentry 入门》 对应 lab-51
  • 《Spring Boot 监控端点 Actuator 入门》 对应 lab-34
  • 《Spring Boot 监控工具 Admin 入门》 对应 lab-35
  • 《Spring Boot 监控平台 Prometheus + Grafana 入门》 对应 lab-36
  • 《Spring Boot 监控平台 CAT 入门》 对应 lab-61

日志管理

  • 《Spring Boot 日志集成 Logging 入门》 对应 lab-37
  • 《Spring Boot 日志平台 ELK + Filebeat 入门》 对应 lab-38

链路追踪

  • 《Spring Boot 链路追踪 SkyWalking 入门》 对应 lab-39
  • 《Spring Boot 链路追踪 Zipkin 入门》 对应 lab-40
  • 《Spring Boot 链路追踪 Pinpoint 入门》计划中...
  • 《Spring Boot 链路追踪 Elastic APM 入门》计划中...

Spring Cloud Alibaba 专栏

Spring Cloud Alibaba 全家桶

  • 《Spring Cloud Alibaba 介绍》
  • 《Spring Cloud Alibaba 注册中心 Nacos 入门》 对应 labx-01-spring-cloud-alibaba-nacos-discovery
  • 《Spring Cloud Alibaba 服务调用 Dubbo 入门》 对应 labx-07-spring-cloud-alibaba-dubbo
  • 《Spring Cloud Alibaba 服务容错 Sentinel 入门》 对应 labx-04-spring-cloud-alibaba-sentinel
  • 《Spring Cloud Alibaba 消息队列 RocketMQ 入门》 对应 labx-06-spring-cloud-stream-rocketmq
  • 《Spring Cloud Alibaba 事件总线 Bus RocketMQ 入门》 对应 labx-20
  • 《Spring Cloud Alibaba 配置中心 Nacos 入门》 对应 labx-05-spring-cloud-alibaba-nacos-config
  • 《Spring Cloud Alibaba 分布式事务 Seata 入门》 对应 labx-17

推荐搭配食用

  • 《Spring Cloud Netflix 负载均衡 Ribbon 入门》 对应 labx-02-spring-cloud-netflix-ribbon
  • 《Spring Cloud 声明式调用 Feign 入门》 对应 labx-03-spring-cloud-feign
  • 《Spring Cloud 服务网关 Spring Cloud Gateway 入门》 对应 labx-08-spring-cloud-gateway
  • 《Spring Cloud 链路追踪 SkyWalking 入门》 对应 labx-14
  • 《Dubbo Admin 快速入门》

Spring Cloud 专栏

注册中心

  • 《Spring Cloud Alibaba 注册中心 Nacos 入门》 对应 labx-01-spring-cloud-alibaba-nacos-discovery
  • 《Spring Cloud Netflix 注册中心 Eureka 入门》 对应 labx-22
  • 《Spring Cloud 注册中心 Zookeeper 入门》 对应 labx-25
  • 《Spring Cloud 注册中心 Consul 入门》 对应 labx-27
  • 《Spring Cloud 注册中心 Etcd 入门》

服务调用

  • 《Spring Cloud Alibaba 服务调用 Dubbo 入门》 对应 labx-07-spring-cloud-alibaba-dubbo
  • 《Spring Cloud Netflix 负载均衡 Ribbon 入门》 对应 labx-02-spring-cloud-netflix-ribbon
  • 《Spring Cloud 声明式调用 Feign 入门》 对应 labx-03-spring-cloud-feign
  • 《Spring Cloud 服务调用 gRPC 入门》 对应 labx-30-spring-cloud-grpc

服务容错

  • 《Spring Cloud Alibaba 服务容错 Sentinel 入门》 对应 labx-04-spring-cloud-alibaba-sentinel
  • 《Spring Cloud Netflix 服务容错 Hystrix 入门》 对应 labx-23
  • 《Spring Cloud 服务容错 Resilience4j 入门》 对应 lab-59
  • 《Spring Cloud 服务容错 Spring Cloud CircuitBreaker》计划中...

API 网关

  • 《Spring Cloud 服务网关 Spring Cloud Gateway 入门》 对应 labx-08-spring-cloud-gateway
  • 《Spring Cloud Netflix 服务网关 Zuul 入门》 对应 对应 labx-21
  • 《性能测试 —— Spring Cloud Gateway、Zuul 基准测试》 对应 lab-07

如下非 Spring Cloud 网关,先放在这里...

  • 《APISIX 极简入门(国产微服务网关)》 对应 lab-56
  • 《Soul 极简入门(国产微服务网关)》 对应 lab-60
  • 《Kong 极简入门(微服务网关)》 对应 lab-56

配置中心

  • 《Spring Cloud Alibaba 配置中心 Nacos 入门》 对应 labx-05-spring-cloud-alibaba-nacos-config
  • 《Spring Cloud 配置中心 Apollo 入门》 对应 labx-09-spring-cloud-apollo
  • 《Spring Cloud 配置中心 Spring Cloud Config 入门》 对应 labx-12-spring-cloud-config
  • 《Spring Cloud 配置中心 Zookeeper 入门》 对应 labx-26
  • 《Spring Cloud 配置中心 Consul 入门》 对应 labx-28
  • 《Spring Cloud 配置中心 Etcd 入门》

消息队列

Spring Cloud Stream

  • 《Spring Cloud Alibaba 消息队列 RocketMQ 入门》 对应 labx-06-spring-cloud-stream-rocketmq
  • 《Spring Cloud 消息队列 RabbitMQ 入门》 对应 labx-10-spring-cloud-stream-rabbitmq
  • 《Spring Cloud 消息队列 Kafka 入门》 对应 labx-11-spring-cloud-stream-kafka
  • 《Spring Cloud 消息队列 ActiveMQ 入门》

Spring Cloud Bus

  • 《Spring Cloud Alibaba 事件总线 Bus RocketMQ 入门》 对应 labx-20
  • 《Spring Cloud 事件总线 Bus RabbitMQ 入门》 对应 labx-19
  • 《Spring Cloud 事件总线 Bus Kafka 入门》 对应 labx-18
  • 《Spring Cloud 事件总线 Bus Consul 入门》 对应 labx-29-spring-cloud-consul-bus

分布式事务

  • 《Spring Cloud Alibaba 分布式事务 Seata 入门》 对应 labx-17

监控管理

  • 《Spring Boot 异常管理平台 Sentry 入门》 对应 lab-51
  • 《Spring Boot 监控端点 Actuator 入门》 对应 lab-34
  • 《Spring Cloud 监控工具 Admin 入门》 对应 labx-15
  • 《Spring Boot 监控平台 Prometheus + Grafana 入门》 对应 lab-36

持续交付

  • 《Spring Cloud 持续交付 Jenkins 入门》 对应 labx-16
  • 《Spring Boot 单元测试 Test 入门》 对应 lab-42
  • 《Spring Cloud 容器 Docker 入门》计划中...

链路追踪

  • 《Spring Cloud 链路追踪 SkyWalking 入门》 对应 labx-14
  • 《Spring Cloud 链路追踪 Spring Cloud Sleuth》 对应 labx-13

Dubbo 专栏

基础入门

  • 《Spring Boot Dubbo 入门》 对应 lab-30
  • 《Spring Cloud Alibaba 服务调用 Dubbo 入门》 对应 labx-07-spring-cloud-alibaba-dubbo
  • 《性能测试 —— Dubbo 基准测试》

注册中心

Zookeeper

  • 《Spring Boot Dubbo 入门》的「2. XML 配置」和「3. 注解配置」小节

Nacos

  • 《Spring Boot Dubbo 入门》的「6. 整合 Nacos」小节
  • 《Spring Cloud Alibaba 服务调用 Dubbo 入门》的「2. 快速入门」小节

服务容错

Sentinel

  • 《Spring Boot Dubbo 入门》的「7. 整合 Sentinel」小节
  • 《Spring Cloud Alibaba 服务调用 Dubbo 入门》的「6. 整合 Sentinel」小节

Hystrix

  • 《Spring Boot 服务容错 Hystrix 入门》的「6. 集成到 Dubbo」小节
  • 《Spring Cloud Netflix 服务容错 Hystrix 入门》的「10. 集成到 Dubbo」小节

Resilience4j

  • 《Spring Boot 服务容错 Resilience4j 入门》的「10. 集成到 Dubbo」小节

API 网关

  • 《Soul 极简入门(国产微服务网关)》的「3. 接入 Dubbo 应用」小节

分布式事务

Seata

  • 《Dubbo 分布式事务 Seata 入门》 对应 lab-53
  • 《Spring Cloud Alibaba 分布式事务 Seata 入门》的「2. AT 模式 + Dubbo」小节

TCC Transaction

  • 《TCC-Transaction 源码分析 —— Dubbo 支持》

链路追踪

SkyWalking

  • 《Spring Boot 链路追踪 SkyWalking 入门》 的「16. Dubbo 示例」小节
  • 《Spring Cloud 链路追踪 SkyWalking 入门》 的「7. Dubbo 示例」小节

Zipkin

  • 《Spring Boot 链路追踪 Zipkin》 的「13. Dubbo 示例」小节
  • 《Spring Cloud 链路追踪 Spring Cloud Sleuth》 的「7. Dubbo 示例」小节

监控管理

CAT

  • 《Spring Boot 监控平台 CAT 入门》 的「13. Dubbo 集成」小节

Dubbo Admin

  • 《Dubbo Admin 快速入门》

消息队列 MQ 专栏

RocketMQ

  • 《RocketMQ 极简入门》
  • 《Spring Boot 消息队列 RocketMQ 入门》 对应 lab-31
  • 《Spring Cloud Alibaba 消息队列 RocketMQ 入门》 对应 labx-06-spring-cloud-stream-rocketmq
  • 《Spring Cloud Alibaba 事件总线 Bus RocketMQ 入门》 对应 labx-20
  • 《RocketMQ 源码解析系列》
  • 《性能测试 —— RocketMQ 基准测试》
  • 《RocketMQ 书单整理》

RabbitMQ

  • 《RabbitMQ 极简入门》
  • 《Spring Boot 消息队列 RabbitMQ 入门》 对应 lab-04-rabbitmq
  • 《Spring Cloud 消息队列 RabbitMQ 入门》 对应 labx-10-spring-cloud-stream-rabbitmq
  • 《Spring Cloud 事件总线 Bus RabbitMQ 入门》 对应 labx-19
  • 《RabbitMQ 书单整理》

Kafka

  • 《Kafka 极简入门》
  • 《Spring Boot 消息队列 Kafka 入门》 对应 lab-03
  • 《Spring Cloud 消息队列 Kafka 入门》 对应 labx-11-spring-cloud-stream-kafka
  • 《Spring Cloud 事件总线 Bus Kafka 入门》 对应 labx-18
  • 《Kafka 书单整理》

ActiveMQ

  • 《ActiveMQ 极简入门》
  • 《Spring Boot 消息队列 ActiveMQ 入门》 对应 lab-32
  • 《Spring Cloud 消息队列 ActiveMQ 入门》

分布式事务专栏

目前分布式事务的解决方案有 AT、TCC、Saga、MQ、XA、BED 六种。

AT 方案

  • 《Spring Boot 分布式事务 Seata 入门》的「2. AT 模式 + 多数据源」小节,实现单体 Spring Boot 项目在多数据源下的分布式事务
  • 《Spring Boot 分布式事务 Seata 入门》的「AT 模式 + HttpClient 远程调用」小节,实现多个 Spring Boot 项目的分布式事务
  • 《Dubbo 分布式事务 Seata 入门》 的「2. AT 模式」小节,实现多个 Dubbo 服务的分布式事务。
  • 《Spring Cloud Alibaba 分布式事务 Seata 入门》的「3. AT 模式 + Feign」小节,实现多个 Spring Cloud 服务下的分布式事务。

TCC 方案

  • 《TCC-Transaction 源码解析系列》

Saga 方案

MQ 方案

  • 《Spring Boot 消息队列 RocketMQ 入门》 的「9. 事务消息」小节
  • 《Spring Cloud Alibaba 消息队列 RocketMQ 入门》 的「10. 事务消息」小节
  • 《RocketMQ 源码分析 —— 事务消息》

XA 方案

  • 《MyCAT 源码分析 —— XA分布式事务》

BED 方案

  • 《Sharding-JDBC 源码分析 —— 分布式事务(一)之最大努力型》

如下是草稿目录,未来需要整理下

如何获取?

可以点击此处来获取就可以了!

作为一个热爱深夜撸码的 20 岁秃头boy,希望大佬们能够动动你们发财的双手转发下,收个藏点个赞啥的

相关文章
|
2天前
|
存储 NoSQL Java
Spring Boot项目中使用Redis实现接口幂等性的方案
通过上述方法,可以有效地在Spring Boot项目中利用Redis实现接口幂等性,既保证了接口操作的安全性,又提高了系统的可靠性。
6 0
|
9天前
|
Java Spring
spring boot 启动项目参数的设定
spring boot 启动项目参数的设定
|
2月前
|
JSON 中间件 Go
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
本文详细介绍了如何在Go项目中集成并配置Zap日志库。首先通过`go get -u go.uber.org/zap`命令安装Zap,接着展示了`Logger`与`Sugared Logger`两种日志记录器的基本用法。随后深入探讨了Zap的高级配置,包括如何将日志输出至文件、调整时间格式、记录调用者信息以及日志分割等。最后,文章演示了如何在gin框架中集成Zap,通过自定义中间件实现了日志记录和异常恢复功能。通过这些步骤,读者可以掌握Zap在实际项目中的应用与定制方法
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
|
2月前
|
存储 运维 小程序
后端开发零负担!揭秘支付宝小程序云开发的高效与安全,你的项目也能飞速上线?
【8月更文挑战第27天】支付宝小程序云开发是由阿里云提供的集成开发环境,助力开发者高效、安全地构建小程序后端服务,免去服务器搭建,显著提高开发效率并降低运维成本。它集成了云函数、云数据库及云存储等功能,便于快速搭建后端逻辑。例如,仅需简单几行代码即可创建HTTP接口或进行数据管理。这使得开发者能更专注于业务逻辑和用户体验优化,同时平台还提供了强大的安全保障措施,确保数据安全和用户隐私。无论对于初创团队还是成熟企业,支付宝小程序云开发都能有效提升产品迭代速度和市场竞争力。
59 1
|
2月前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
36 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
2月前
|
前端开发 JavaScript Java
spring boot+vue前后端项目的分离(我的第一个前后端分离项目)
该博客文章介绍了作者构建的第一个前后端分离项目,使用Spring Boot和Vue技术栈,详细说明了前端Vue项目的搭建、后端Spring Boot项目的构建过程,包括依赖配置、数据库连接、服务层、数据访问层以及解决跨域问题的配置,并展示了项目的测试结果。
spring boot+vue前后端项目的分离(我的第一个前后端分离项目)
|
2月前
|
JSON 缓存 监控
go语言后端开发学习(五)——如何在项目中使用Viper来配置环境
Viper 是一个强大的 Go 语言配置管理库,适用于各类应用,包括 Twelve-Factor Apps。相比仅支持 `.ini` 格式的 `go-ini`,Viper 支持更多配置格式如 JSON、TOML、YAML
go语言后端开发学习(五)——如何在项目中使用Viper来配置环境
|
2月前
|
IDE Java Shell
如何快速搭建一个 Spring Boot 项目?
本指南介绍如何通过Spring Initializr创建一个基本的Spring Boot Web项目。首先访问`start.spring.io`,选择Maven项目、Java语言、Spring Boot版本3.1.0、Java 17,并勾选Spring Web依赖。点击“Generate”下载项目模板。解压后,IDE打开项目并修改`DemoApplication.java`,添加REST控制器以实现一个简单的“Hello World!”服务。通过`@RestController`和`@GetMapping`注解定义Web端点,使用`@RequestParam`获取URL参数。
|
2月前
|
JSON API 数据安全/隐私保护
Django 后端架构开发:JWT 项目实践与Drf版本控制
Django 后端架构开发:JWT 项目实践与Drf版本控制
35 0
|
2月前
|
移动开发 开发框架 小程序
开发H5程序或者小程序的时候,后端Web API项目在IISExpress调试中使用IP地址,便于开发调试
开发H5程序或者小程序的时候,后端Web API项目在IISExpress调试中使用IP地址,便于开发调试
下一篇
无影云桌面