Skip to content

技术选型指南

消息队列选型

场景对照表

场景推荐方案原因
日志采集、事件流、大数据Kafka高吞吐、持久化、可回放、生态成熟
业务解耦、异步通知RabbitMQ灵活路由、管理界面友好
金融交易、顺序消息RocketMQ严格顺序、事务消息、低延迟
大规模日志/事件流Kafka / Pulsar高吞吐、持久化、回放
云原生多租户Apache Pulsar存算分离、Geo-Replication
任务队列(简单)Redis Stream / BullMQ轻量、无需额外组件

关键指标对比

吞吐量(单机):
  Kafka     ≈ 百万级 msg/s
  Pulsar    ≈ 百万级 msg/s(BookKeeper 持久化)
  RocketMQ  ≈ 十万级 msg/s
  RabbitMQ  ≈ 万级 msg/s

端到端延迟:
  RabbitMQ  < 1ms(内存队列)
  RocketMQ  < 5ms
  Kafka     5~15ms(批量提交)
  Pulsar    < 5ms(独立 Broker)

注册中心 & 配置中心选型

一致性模型选择

强一致性(CP):
  etcd      → Kubernetes 生态首选,Raft 协议
  Zookeeper → 老牌,Paxos 变体,运维复杂

最终一致性(AP):
  Nacos     → Spring Cloud 生态首选,支持 AP/CP 切换
  Consul    → 多数据中心,内置服务网格

纯配置中心:
  Apollo    → 权限管控强,灰度发布,适合大型团队
  Nacos     → 配置 + 注册二合一,中小团队首选

决策树

需要 Kubernetes 原生支持?
  ├── 是 → etcd(已内置)或 Consul
  └── 否 → Spring Cloud 生态?
            ├── 是 → Nacos(一站式)
            └── 否 → 多数据中心?
                      ├── 是 → Consul
                      └── 否 → Apollo(纯配置)

API 网关选型

维度KongAPISIXNginx + Lua
性能极高
插件生态丰富(官方+社区)丰富(Apache 孵化)需自研
配置方式Admin API / DBetcd 动态静态文件
控制台Kong ManagerAPISIX Dashboard
云原生Kong IngressAPISIX Ingress需适配
适用规模中大型中大型小型

推荐:新项目优先 APISIX(性能更好,Apache 社区活跃);已有 Kong 生态则继续 Kong。

缓存选型

Redis vs Memcached

维度RedisMemcached
数据结构String/Hash/List/Set/ZSet/Stream 等仅 String
持久化RDB + AOF
集群Cluster / Sentinel客户端一致性哈希
事务MULTI/EXEC(弱事务)
Lua 脚本支持不支持
内存效率略低(数据结构开销)略高
适用场景通用缓存、会话、排行榜、分布式锁简单 KV 缓存

结论:99% 场景选 Redis,Memcached 仅在极致内存效率且数据结构简单时考虑。

数据库中间件选型

分库分表需求:
  Java 应用 → ShardingSphere-JDBC(无代理,性能最优)
  多语言    → ShardingSphere-Proxy(透明代理)
  MySQL 老项目 → MyCat(成熟稳定)
  超大规模 MySQL → Vitess(YouTube 级别)

读写分离(无分片需求):
  → ShardingSphere-JDBC ReadWrite Splitting
  → ProxySQL(轻量级 MySQL 代理)

可观测性选型

三支柱工具链

Metrics(指标监控):
  推荐:Prometheus + Grafana
  云托管:AWS CloudWatch / Datadog

Logs(日志):
  推荐:ELK(Elasticsearch + Logstash + Kibana)
  轻量:Loki + Grafana(日志不索引,成本低)
  云托管:AWS CloudWatch Logs

Traces(链路追踪):
  推荐:Jaeger(CNCF 毕业项目)
  备选:Zipkin(轻量)
  商业:Datadog APM / New Relic

统一采集:
  → OpenTelemetry(OTEL)SDK + Collector
    一次接入,多后端输出

存储选型

需求推荐
对象存储(S3 兼容)MinIO(自建)/ AWS S3(云)
块存储Ceph RBD / AWS EBS
文件系统CephFS / NFS / AWS EFS
冷数据归档MinIO + 生命周期策略
K8s 持久化卷Ceph CSI / Longhorn

PaaS 中间件生态系统深度学习文档