当前位置: 首页 > news >正文

维护_其它进程间通信(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 框架(类似 gRPC 的替代品)

  1. Apache Thrift(Facebook 开源)

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

  2. Apache Dubbo(阿里开源)

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

  3. Cap’n Proto

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

  4. FlatBuffers(Google 开源)

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

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

  1. ROS / ROS 2(Robot Operating System)

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

  2. YARP(Yet Another Robot Platform)

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

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

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

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

五、新兴或特定领域框架

  1. Ice (Internet Communications Engine)

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

  2. Envoy + xDS APIs

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

  3. 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

http://www.dtcms.com/a/596378.html

相关文章:

  • 【大模型训练】roll 调用megatron 计算损失函数有,会用到partial
  • 使用nestjs/cli创建nest.js新项目
  • 广州外贸网站建设公司平面设计主要做什么工资多少
  • 广东省建设工程交易中心网站网站关键词不稳定
  • 组建网站需多少钱微信网站模板
  • jfinal 支持mysql的json字段类型解决方案
  • Excel处理控件Aspose.Cells教程:如何使用C#在Excel中添加、编辑和更新切片器
  • Java 在 Excel 文件中添加或删除分节符
  • 电子电气架构 --- 车载OTA功能
  • Chrome HSTS(HTTP Strict Transport Security)
  • 【项目亮点】基于EasyExcel + 线程池解决POI文件导出时的内存溢出及超时问题
  • 【C++】链表算法习题
  • 搭建智能问答系统需要什么文档解析工具?
  • 【C++】(以及大多数编程语言)中常见的 六种基本位运算操作
  • (129页PPT)罗兰贝格银行风险预警管理体系规划(附下载方式)
  • 建设银行网站可以更改个人电话网址大全域名解析
  • 增删查改(其一) —— insert插入 与 select条件查询
  • JuiceSSH+cpolar解锁手机远程Linux新姿势,无需公网IP,固定地址稳定用
  • 传统生产制造企业手写单据数字化落地:旗讯 OCR 的技术实现与系统对接方案
  • 如何添加网站白名单广州建设网站的公司
  • nnUNet 训练与推理命令操作记录
  • 【C#】从一次异步锁逐渐展开浅谈服务器架构解决重复编码问题,我与AI的一次深度讨论得出的一些解决方案
  • PKHeX 宝可梦存档编辑工具 用户可自由修改宝可梦属性、技能、道具、图鉴完成度等信息
  • 深度解析:环形链表——手撕面试经典题
  • elasticsearch集群访问中的通信问题
  • 西安模板网站建设套餐佛山做网站费用
  • 什么是RKNN?
  • 《智元启示录》升级说明:从「AI 思考集」到「AI 决策内参」
  • Ansible 基础配置与负载均衡部署实践
  • 融合先验文本与解剖学知识的多模态回归网络用于舌鳞状细胞癌浸润深度的自动预测|文献速递-文献分享