一份 Java 微服务栈备忘录,只记录“能落地的常用选择”。
按使用频率从上到下扫一遍即可。
Web 框架
- Spring:生态完整、团队友好,代价是体量大、启动慢。
配置管理
- Apollo:多环境配置 + 灰度发布,企业常用。
消息队列
- Kafka:高吞吐、稳定,延时队列与优先队列需要额外方案。
- Redis ZSet:轻量优先队列,适合低量级场景。
存储与检索
Redis
- 几百 GB 规模都能支撑
- 强一致不强依赖时优先上缓存
MySQL
- 单表 2kw 只是经验值,不是上限
- 大表改字段和索引是高风险操作
Elasticsearch
- 适合多维条件 + 聚合查询
- BigDecimal 要显式 mapping,避免被误判为 float
Databend
- OLAP 场景性价比高
- 存算分离省成本
ClickHouse
- 高性能分析查询
- 与 OLTP 完全不同的优化方式
定时任务
- XXL-Job:开箱即用,运维成本低
个人建议
- 统一可观测体系:日志、指标、链路
- 统一 RPC 协议与 SDK 版本
- 先稳定再炫技