Skip to Content
书签后端技术

后端技术栈资源

近期使用的后端开发工具与框架,涵盖 Java/Spring 与 Rust 技术栈,按用途分类整理如下:


Java 技术栈

基于 Java / Spring 生态的企业级后端开发工具,涵盖微服务架构、数据持久化、API 开发等核心领域。

微服务与分布式架构

分布式系统构建的基础框架,提供服务治理、配置管理等能力。

  • Spring Boot 3.5 :最新版 Spring Boot,支持 Java 21 虚拟线程和 GraalVM 原生镜像编译。通过自动配置和起步依赖,能大大减少样板代码,显著提升启动速度和内存占用。
  • Spring Cloud 2025 :微服务治理框架,提供服务发现、配置管理、负载均衡等核心能力。与 Spring Cloud Alibaba 配合可实现完整的分布式系统。
  • Spring Cloud Alibaba :基于 Spring Cloud 的微服务解决方案,集成了阿里云的众多服务,如 Nacos 服务发现、Sentinel 流量控制等。它能帮助开发者快速搭建分布式系统,提升系统的可扩展性和稳定性。
  • Spring Integration :实现企业集成模式的框架,支持消息驱动架构。它提供了丰富的适配器和通道,可方便地集成不同的系统和服务,实现数据的流转和处理。

数据持久化

数据库访问层解决方案,简化 SQL 操作和对象映射。

  • MyBatis :一款优秀的持久层框架,通过 XML 或注解的方式将 SQL 语句与 Java 对象映射。它能简化 SQL 操作,提高数据库访问效率,适用于各种规模的项目。
  • MyBatis Plus 3.5 :MyBatis 的增强工具,在 MyBatis 的基础上提供了 CRUD 自动化功能、分页插件、代码生成器等。它减少了大量的样板代码,提高了开发效率,尤其适合快速开发项目。
  • Spring Data JDBC :Spring Data 家族的成员,用于简化 JDBC 数据访问。它通过简单的接口和注解实现数据库操作,无需编写复杂的 SQL 语句,提高开发效率。
  • Spring Data Redis :Spring Data 提供的 Redis 集成模块,支持 Redis 的缓存和消息队列功能。它简化了 Redis 的使用,可与 Spring 应用无缝集成。
  • Dynamic Datasource :动态数据源切换组件,基于 MyBatis Plus。支持多租户场景下的动态数据源切换,提供注解式的使用方式。

API 开发与文档

RESTful API 开发和文档自动生成工具。

  • Swagger :一款流行的 API 文档生成工具,支持在线调试。它能根据代码自动生成 API 文档,方便开发者和测试人员进行接口测试和文档查看。
  • SpringDoc OpenAPI :用于 Spring Boot 应用的 OpenAPI 3.0 文档生成工具,能自动生成符合 OpenAPI 规范的文档。它支持多种注解,可方便地定制文档内容。
  • Spring Data REST :Spring Data 提供的自动生成 REST API 的工具,可根据 Spring Data 仓库接口自动生成 RESTful 接口。它减少了手动编写 API 的工作量,提高开发效率。

安全与认证

应用安全框架和身份认证解决方案。

  • Spring Security :Spring 生态中的安全框架,支持认证和授权功能。它提供了丰富的安全策略和过滤器,可保护应用免受各种安全威胁。
  • JJWT :JWT 令牌生成与验证库,支持 RS256/ES256 签名算法。适用于前后端分离的应用,通过数字签名保证数据的完整性和安全性。
  • Jasypt :配置文件加密工具,支持对 Spring Boot 配置文件中的敏感信息进行加密。提供命令行工具和 Java API 两种使用方式。

缓存与中间件

高性能缓存和消息队列组件。

  • JetCache :阿里缓存框架,支持声明式缓存、多级缓存(本地 + Redis)。它提供了丰富的配置选项和注解,可方便地集成到 Spring Boot 应用中。
  • Redis :开源的高性能键值对存储数据库,通常用作缓存、消息队列、分布式锁等。它支持多种数据结构,具有快速读写、持久化、集群等特性,能显著提升系统性能。
  • Druid :阿里巴巴开源的数据库连接池,支持监控和诊断功能。它能有效管理数据库连接,提高数据库访问性能,同时提供了丰富的监控指标。
  • Disruptor :高性能内存队列,基于环形缓冲区实现。单线程吞吐量可达数百万,适合高并发场景下的消息传递。

构建工具

项目构建和代码格式化工具。

  • Gradle (Kotlin DSL) :现代构建工具,Kotlin DSL 提供更好的 IDE 支持和类型安全。相比 Groovy DSL,具有更完善的代码补全和重构支持。
  • Spotless :代码格式化插件,支持 Java、Kotlin、Gradle 等多种语言。可统一团队代码风格,自动格式化提交的代码。

工具类库

通用 Java 工具函数集合,简化日常开发。

  • Guava :Google 提供的 Java 工具库,包含了常用的集合、字符串处理、并发等工具类。它能简化 Java 开发中的常见操作,提高代码的可读性和可维护性。
  • Hutool :一个实用的 Java 工具库,提供了文件、日期、加密等多种工具类。它能帮助开发者快速完成日常开发任务,减少重复劳动。
  • Commons Lang :Apache 提供的基础工具库,主要用于字符串、数组等操作。它提供了许多实用的静态方法,能简化 Java 代码。
  • Apache Commons Email :邮件发送工具库,简化了 JavaMail API 的使用。支持 HTML 邮件、附件、SMTP 认证等功能。

Rust 技术栈

基于 Rust 的高性能后端开发工具,适合对性能和安全性要求较高的场景。

Web 框架

异步 Web 服务框架,构建高性能 HTTP API。

  • Axum :Tokio 团队开发的 Web 框架,基于 Tower 中间件生态。性能优异,支持宏路由和提取器模式,API 设计优雅。
  • Warp :异步 Web 服务器框架,基于 Filter 组合模式。类型安全的路由设计,适合构建 REST API。

异步编程与并发

Rust 异步运行时和并发原语。

  • Tokio :Rust 中的异步运行时,支持高性能并发编程。它提供了异步 I/O、任务调度等功能,能充分利用多核 CPU 资源,提升程序的并发性能。
  • Tower :服务抽象层和中间件库。提供 Timeout、RateLimit、Retry 等通用中间件,可组合使用。
  • Tower-HTTP :HTTP 中间件集合,支持 Trace、Gzip 压缩、CORS、请求限制等功能。
  • DashMap :高性能的并发哈希表,支持并发读写操作。它使用锁分段技术,减少锁竞争,提高并发性能,适用于多线程环境。

数据库

异步数据库客户端和连接池。

  • SQLx :异步 SQL 工具包,编译时 SQL 语法检查。支持 PostgreSQL、MySQL、SQLite,无需 ORM 即可获得类型安全的数据库操作。
  • Redis-rs :异步 Redis 客户端,支持连接池和 Cluster 模式。提供完整的 Redis 命令支持。

数据序列化

数据格式序列化和反序列化库。

  • Serde :Rust 中的数据序列化和反序列化框架,支持多种数据格式,如 JSON、XML 等。它通过注解实现数据的序列化和反序列化,代码简洁,使用方便。
  • Serde JSON :基于 Serde 的 JSON 序列化和反序列化库,能快速将 Rust 数据结构转换为 JSON 格式,反之亦然。它具有高性能和良好的兼容性。
  • Serde URL Encoded :URL 编码序列化库,用于处理表单数据和查询参数。

API 文档

OpenAPI 文档自动生成工具。

  • Utoipa :Rust 的 OpenAPI 文档生成库,通过宏自动生成 API 文档。支持 Axum、Actix、Rocket 等框架。
  • Utoipa-Swagger-UI :Swagger UI 集成组件,提供交互式 API 文档页面。

日志与追踪

结构化日志和分布式追踪框架。

  • Tracing :结构化日志和追踪框架,支持 OpenTelemetry 集成。提供 span、event 等概念,适合分布式追踪场景。
  • Tracing-Subscriber :日志订阅器实现,支持 env-filter、fmt 等功能。
  • Log4rs :Rust 中的日志记录库,支持灵活的日志配置。它可以将日志输出到不同的目标,如文件、控制台等,并且支持日志级别控制和日志滚动。

配置管理

应用配置加载和环境变量管理。

  • Config :配置文件加载库,支持 YAML、JSON、TOML 等多种格式。支持环境变量覆盖和配置热加载。
  • Dotenvy :环境变量加载库,从 .env 文件加载环境变量。是 dotenv 的维护分支。
  • TOML :用于解析 TOML 格式配置文件的库。TOML 格式简洁易读,适合作为配置文件,该库能方便地将 TOML 文件解析为 Rust 数据结构。

工具库

Rust 通用工具函数集合。

  • Chrono :日期时间处理库,支持时区和格式化。提供 Date、Time、DateTime 等类型。
  • ULID :分布式唯一 ID 生成器,比 UUID 更紧凑且有序。48 位时间戳 + 80 位随机数,可按时间排序。
  • Ring :加密原语库,提供 SHA、AES、RSA 等算法实现。使用 Rust 和汇编编写,性能优异。
  • Color Eyre :错误报告库,提供彩色错误堆栈追踪。基于 eyre 构建,支持自定义错误报告格式。

构建与部署

Rust 项目构建和静态链接工具。

  • Cargo :Rust 包管理器和构建工具。支持依赖管理、测试、文档生成等功能。
  • musl-tools :静态链接工具链,用于生成不依赖 glibc 的可执行文件。生成的二进制文件可跨 Linux 发行版部署。

实时通信

WebRTC 协议的 Rust 实现。

  • WebRTC-RS :纯 Rust 实现的 WebRTC 协议栈。支持 PeerConnection、DataChannel 等功能,适合构建实时音视频应用。
Last updated on