Skip to content

PaaS 中间件全景导图

什么是 PaaS 中间件

PaaS(Platform as a Service)中间件是构建在基础设施之上、应用程序之下的一层软件基础设施。它屏蔽了分布式系统的复杂性,为上层业务提供通信、存储、治理、可观测等能力。

┌─────────────────────────────────────────────────────────┐
│                    业务应用层                             │
├─────────────────────────────────────────────────────────┤
│  消息队列  │  注册/配置  │  API网关  │  服务网格          │
│  缓存中间件 │  数据库中间件 │  对象存储 │  可观测性          │
├─────────────────────────────────────────────────────────┤
│              容器编排层(Kubernetes)                     │
├─────────────────────────────────────────────────────────┤
│              基础设施层(物理机/虚拟机/云)                │
└─────────────────────────────────────────────────────────┘

中间件分类全景

📨 消息队列(Message Queue)

中间件定位核心特性
Kafka分布式消息流平台高吞吐、持久化、消息回放、流处理
RabbitMQAMQP 消息代理灵活路由、插件生态、管理 UI
RocketMQ金融级消息队列顺序消息、事务消息、延迟消息
Apache Pulsar云原生消息流存算分离、多租户、Geo-Replication

适用场景:异步解耦、流量削峰、事件驱动架构、微服务通信

🗂️ 注册中心 & 配置中心

中间件定位核心特性
Nacos服务发现 + 配置AP/CP 可切换、命名空间隔离
Consul多数据中心服务网格健康检查、KV 存储、Connect
Apollo分布式配置中心灰度发布、权限管控、审计日志
etcd强一致性 KVRaft 协议、Watch 机制、K8s 基石

🔀 API 网关

中间件定位核心特性
Kong云原生 API 网关插件市场、DB-less 模式、混合部署
APISIX高性能 API 网关动态路由、etcd 配置、Lua 插件

核心能力:认证鉴权、限流熔断、协议转换、灰度发布、流量镜像

🕸️ 服务网格(Service Mesh)

中间件定位核心特性
Istio控制平面流量管理、mTLS、策略执行
Envoy数据平面代理L7 代理、xDS 协议、高性能

⚡ 缓存中间件

中间件定位核心特性
Redis内存数据结构存储丰富数据类型、Cluster、Sentinel
Memcached分布式内存缓存简单高效、多线程、一致性哈希

🛢️ 数据库中间件

中间件定位核心特性
ShardingSphere分库分表框架JDBC/Proxy 双模式、分布式事务
MyCatMySQL 代理中间件透明分片、读写分离
VitessMySQL 水平扩展YouTube 出品、VTGate 路由

🗄️ 对象 & 块存储

中间件定位核心特性
MinIO高性能对象存储S3 兼容、纠删码、分布式模式
Ceph统一分布式存储CRUSH 算法、RBD/CephFS/RGW

🔭 可观测性(Observability)

三大支柱:Metrics(指标)Logs(日志)Traces(链路追踪)

工具类型定位
Prometheus + GrafanaMetrics时序数据采集与可视化
ELK StackLogs日志采集、存储、分析
Jaeger / ZipkinTraces分布式链路追踪
OpenTelemetry标准统一可观测性数据规范

📦 容器 & 编排

工具定位
Kubernetes容器编排平台,中间件运行基础
HelmK8s 应用包管理器
Argo CDGitOps 持续交付

中间件选型核心维度

1. 一致性要求    → CP(etcd/Zookeeper)vs AP(Nacos/Consul)
2. 吞吐量要求    → Pulsar/Kafka > RocketMQ > RabbitMQ
3. 延迟要求      → Redis(微秒级)> Memcached > 磁盘存储
4. 运维复杂度    → 托管服务 < 单机 < 集群 < 多数据中心
5. 生态兼容性    → 与现有技术栈的集成成本
6. 云原生程度    → 是否支持 K8s Operator、Helm 部署

学习路径建议

入门阶段
  └── Redis 基础 → RabbitMQ 基础 → Nacos 服务发现

进阶阶段
  └── Redis Cluster → RocketMQ 事务消息 → ShardingSphere 分库分表

高阶阶段
  └── Istio 服务网格 → OpenTelemetry 全链路 → Kubernetes Operator

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