服务模块
应用接口/通信协议
| 应用协议 | 传输模型 | 连接模式 | 适用场景 | 特点 |
|---|---|---|---|---|
| HTTP | 请求-响应 | 无状态 | 网页请求、RESTful API | 简单易用,广泛支持,适合静态内容传输 |
| WebSocket | 全双工 | 持久连接 | 实时应用(聊天、游戏) | 实现双向实时通信,减少延迟 |
| MQTT | 发布-订阅 | 持久连接 | 物联网、移动设备 | 轻量级,适合低带宽、高延迟环境 |
| CoAP | 请求-响应 | 无状态 | 物联网、嵌入式系统 | 类似HTTP,适合资源受限设备 |
| AMQP | 消息队列 | 持久连接 | 企业消息中间件 | 提供复杂的消息路由和事务支持 |
| STOMP | 消息队列 | 持久连接 | 轻量级消息中间件 | 简单易用,广泛兼容多种语言 |
| gRPC | 请求-响应 | 持久连接 | 微服务架构、跨语言服务 | 基于HTTP/2,支持流式传输和高效序列化 |
| GraphQL | 请求-响应 | 无状态 | 复杂查询、API整合 | 灵活查询,客户端控制数据获取 |
| RESTful API | 请求-响应 | 无状态 | CRUD操作、资源管理 | 资源导向,简单,基于HTTP |
gRPC:基于HTTP/2,支持双向流,适用于微服务架构。GraphQL:允许客户端精确指定所需数据,适合复杂数据获取场景。RESTful API:基于HTTP协议,强调资源的创建、读取、更新和删除(CRUD)操作。
事件通道/消息队列
| 消息队列 | 性能 | 可扩展性 | 持久化机制 | 适用场景 | 特点 |
|---|---|---|---|---|---|
| Apache Pulsar | 高 | 高 | 灵活的持久化策略 | 实时数据处理、物联网 | 多租户支持,存储与计算分离 |
| Apache ActiveMQ | 中等 | 中 | 可配置的持久化策略 | 企业消息中间件 | 支持多种协议,易于集成 |
| RabbitMQ | 中高 | 中 | 持久化消息队列 | 实时消息处理、微服务 | 灵活的路由和插件系统 |
| Apache RocketMQ | 高 | 高 | 基于时间的持久化 | 大数据、金融服务 | 高吞吐量,支持事务消息 |
| Apache Kafka | 非常高 | 非常高 | 日志存储,时间/大小限制 | 流处理、日志收集 | 高吞吐量、可扩展性强 |
