Linux--操作系统--7--IPC、RPC

text 复制代码
1. IPC(进程间通信)
├── 1.1 管道
│   ├── 匿名管道(pipe)
│   └── 命名管道(FIFO)
├── 1.2 信号(Signal)
│   └── 例如 SIGINT、SIGKILL
├── 1.3 信号量(Semaphore)
│   └── 用于同步与互斥
├── 1.4 消息队列(Message Queue)
│   ├── POSIX 消息队列
│   └── System V 消息队列
├── 1.5 共享内存(Shared Memory)
│   ├── POSIX 共享内存
│   ├── System V 共享内存
│   └── 常与信号量配合使用
├── 1.6 套接字(Socket)
│   ├── 本地套接字(Unix Domain Socket)
│   └── 网络套接字(TCP/UDP)
├── 1.7 内存映射文件(mmap)
│   └── 将文件或设备映射到进程地址空间
├── 1.8 事件机制
│   ├── eventfd
│   ├── signalfd
│   └── timerfd
└── 1.9 其他
    ├── 文件锁(fcntl)
    ├── D-Bus(桌面总线)
    └── COM/DCOM(Windows)

2. RPC(远程过程调用)
├── 2.1 基于 HTTP 的 RPC
│   ├── RESTful API(非严格 RPC,但常被归入)
│   ├── JSON-RPC
│   ├── XML-RPC
│   └── GraphQL(查询语言,可看作 RPC 变体)
├── 2.2 基于 TCP 的通用 RPC 框架
│   ├── gRPC(Google,基于 HTTP/2 + Protobuf)
│   ├── Thrift(Apache,支持多语言)
│   ├── Dubbo(阿里巴巴,Java 生态)
│   ├── Motan(微博,Java)
│   ├── Tars(腾讯)
│   └── Arvo(Apache,RPC + 数据序列化)
├── 2.3 基于消息队列的 RPC
│   └── 利用 MQ(如 RabbitMQ、Kafka)实现异步 RPC
├── 2.4 分布式对象/组件
│   ├── CORBA(公用对象请求代理体系结构)
│   ├── Java RMI(远程方法调用)
│   ├── .NET Remoting / WCF
│   └── DCOM(Windows)
├── 2.5 服务网格代理透明 RPC
│   └── Istio + Envoy 等(通常下层仍使用 gRPC 等)
└── 2.6 其他
    ├── ZeroC Ice(高性能 RPC 框架)
    ├── Cap'n Proto(类似 Protobuf 但自带 RPC)
    └── WebSocket + 自定义协议(常用于实时应用)

补充说明

  • IPC 主要用于 单机内 不同进程之间的通信,依赖操作系统提供的机制(如管道、共享内存、本地 socket)。
  • RPC 通常用于 跨网络 的进程调用,但在单机内也可以基于本地 socket 或共享内存实现(如 gRPC 支持 Unix Domain Socket)。

很多 RPC 框架底层会使用 TCP/HTTP 等网络协议,并在其上封装序列化、服务发现、负载均衡等能力。

现代微服务架构中,gRPC 和 Thrift 是使用最广泛的跨语言 RPC 框架。

相关推荐
不负岁月无痕1 小时前
简单理解操作系统结构
java·linux·c语言·开发语言·c++·面试
2401_894915532 小时前
GEO 源码部署如何实现精准地域分发?核心配置参数深度讲解
java·运维·服务器·后端·开源
Zguigo2 小时前
第25-26讲:计算机操作系统存储管理——分页机制、页表与快表(TLB)
linux·windows·笔记
常乐か3 小时前
VMware Workstation Pro 17 搭建 Ubuntu 24.04 完整指南
linux·运维·ubuntu
2401_858286115 小时前
OS82.【Linux】设计线程池
java·linux·运维·服务器·开发语言·算法·线程池
leisoo80975 小时前
涨停板封板质量打分系统实战:基于本地逐笔数据的Python实现
linux·服务器·python
@yanyu6665 小时前
kali note
linux·运维·服务器
码农小韩5 小时前
Linux操作系统(六)——软件包管理
linux·操作系统·linux驱动·嵌入式软件开发·linux应用
lys079620006 小时前
多台亚马逊云服务器,在同一个网段的办法
运维·服务器
2601_963282776 小时前
极寒场景专网通信技术实践:黑龙江零下 40℃环境数字对讲组网方案落地解析
大数据·运维·数据库