FA_IPC(分布式)通信框架列述二

FA:Formulas and Algorithm, IPC:Inter-Process Communication
除了提到的 VRPN、LCM、DDS 和 gRPC 这四个在特定领域广泛应用的通信框架外,还有许多通用或专用的进程间通信(IPC)和分布式通信框架在工业界和学术界被广泛使用。以下是一些主流且流行的 IPC/通信中间件或框架,按类别和适用场景分类整理:

一、通用高性能消息中间件(支持跨进程、跨机器)

1. ZeroMQ(ØMQ)

  • 特点:轻量级、无中心 broker、支持多种通信模式(REQ/REP、PUB/SUB、PUSH/PULL 等)
  • 优势:极低延迟、高吞吐、灵活拓扑、支持 TCP/IPC/UDP 等传输
  • 适用场景:金融交易系统、嵌入式、科研原型、微服务胶水层
  • 语言支持:C/C++、Python、Java、Go 等 40+ 语言
    注意:不是传统消息队列(如 RabbitMQ),而是“socket on steroids”

2. Apache Kafka

  • 特点:分布式日志系统,高吞吐、持久化、支持流处理
  • 优势:水平扩展、容错强、与 Flink/Spark 集成好
  • 适用场景:日志聚合、事件溯源、实时数据管道
  • 缺点:延迟较高(通常 >10ms),不适合实时控制

3. RabbitMQ

  • 特点:基于 AMQP 协议的经典消息队列,支持复杂路由
  • 优势:可靠性高、管理界面友好、支持多种协议(MQTT、STOMP)
  • 适用场景:任务队列、异步解耦、企业级应用
  • 缺点:性能低于 ZeroMQ/Kafka,有中心化 Broker 开销

4. NATS

  • 特点:高性能云原生消息系统,支持 PUB/SUB 和请求-响应
  • 变种:
  •   NATS Core:轻量、低延迟
      NATS JetStream:增加持久化和流式存储
    
  • 优势:简单、快速、安全(支持 TLS/JWT)、适合微服务
  • 适用场景:IoT、云原生服务通信、事件驱动架构

二、现代 远程过程调用(RPC:Remote Procedure Call类似 gRPC 的替代品)

5. Apache Thrift(Facebook 开源)

  • 特点:跨语言 RPC 框架,IDL 定义接口,支持多种传输/协议组合
  • 优势:成熟稳定、支持 C++/Java/Python/Go 等
  • 对比 gRPC:更灵活(可选 Binary/JSON/TCompact 协议),但生态略弱

6. Apache Dubbo(阿里开源)

  • 特点:Java 为主的高性能 RPC 框架,支持服务治理
  • 优势:与 Spring 生态深度集成、负载均衡、熔断、监控完善
  • 适用场景:大型 Java 微服务系统(国内广泛使用)

7. Cap’n Proto

  • 特点:由 Protocol Buffers 原作者开发,零拷贝序列化 + 内置 RPC
  • 优势:比 Protobuf 更快(无需 decode),支持对象指针
  • 适用场景:高性能本地/网络通信(如 Sandstorm.io)

8. FlatBuffers(Google 开源)

  • 特点:零拷贝序列化库(无 RPC 层,但常与自定义 socket 结合)
  • 优势:访问速度快、内存占用低
  • 适用场景:游戏引擎(Unity/Unreal)、移动端、嵌入式

三、机器人/自动驾驶领域专用(除 LCM/DDS 外)

9. ROS / ROS 2(Robot Operating System)

  • ROS 1:基于 TCPROS/UDPROS + 自定义 master,底层用 XMLRPC + TCP
  • ROS 2:基于 DDS(如 Fast DDS、Cyclone DDS),但提供统一 API
    注意:ROS 本身是框架,其通信机制依赖底层(DDS 是核心)

10. YARP(Yet Another Robot Platform)

  • 特点:模块化机器人中间件,支持多种传输(TCP/MPI/shared memory)
  • 优势:适合人机交互、认知机器人
  • 用户:意大利 IIT(iCub 机器人)

四、操作系统级或轻量级 IPC(本地进程通信)

虽然不是“框架”,但在高性能本地通信中常用:

技术特点
共享内存(Shared Memory)最快 IPC,需配合信号量/互斥锁同步
Unix Domain Socket本地进程通信,比 TCP 快,支持流/数据报
D-BusLinux 桌面/系统服务通信标准(如 systemd、GNOME)
POSIX 消息队列 / System V IPC传统 Unix IPC 机制,逐渐被 socket 替代

五、新兴或特定领域框架

11. Ice (Internet Communications Engine)

  • 特点:企业级 RPC 框架,支持 Glacier2(防火墙穿透)、IceGrid(服务部署)
  • 优势:功能全面、支持切片 IDL、适用于电信/金融
  • 现状:商业开源(GPL/商业许可),社区活跃度一般

12. Envoy + xDS APIs

  • 特点:虽然 Envoy 是代理,但其 xDS 协议(CDS/RDS/EDS)已成为服务发现通信事实标准
  • 关联:gRPC 服务常通过 xDS 动态配置

13. WebRTC DataChannel

  • 特点:浏览器/设备间 P2P 低延迟数据通道
  • 适用场景:多人 VR/AR 协同、实时协作应用(绕过服务器)

六、总结:按场景推荐

场景	推荐框架
超低延迟本地通信	共享内存 + 信号量、Unix Socket
VR/AR 设备接入	VRPN、OpenXR
机器人/传感器融合	LCM(旧)、DDS / ROS 2(新)
工业控制/高可靠系统	DDS(RTI/Fast DDS)
微服务后端通信	gRPC、Thrift、Dubbo
事件驱动/异步解耦	Kafka、RabbitMQ、NATS
高性能无中心通信	ZeroMQ、Cap’n Proto
游戏/嵌入式序列化	FlatBuffers、Cap’n Proto
桌面/Linux 系统服务	D-Bus

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值