一份 Java 微服务栈备忘录,只记录“能落地的常用选择”。

按使用频率从上到下扫一遍即可。

Web 框架

  • Spring:生态完整、团队友好,代价是体量大、启动慢。

配置管理

  • Apollo:多环境配置 + 灰度发布,企业常用。

消息队列

  • Kafka:高吞吐、稳定,延时队列与优先队列需要额外方案。
  • Redis ZSet:轻量优先队列,适合低量级场景。

存储与检索

Redis

  • 几百 GB 规模都能支撑
  • 强一致不强依赖时优先上缓存

MySQL

  • 单表 2kw 只是经验值,不是上限
  • 大表改字段和索引是高风险操作

Elasticsearch

  • 适合多维条件 + 聚合查询
  • BigDecimal 要显式 mapping,避免被误判为 float

Databend

  • OLAP 场景性价比高
  • 存算分离省成本

ClickHouse

  • 高性能分析查询
  • 与 OLTP 完全不同的优化方式

定时任务

  • XXL-Job:开箱即用,运维成本低

个人建议

  • 统一可观测体系:日志、指标、链路
  • 统一 RPC 协议与 SDK 版本
  • 先稳定再炫技