Skip to the content.

rpc

基本理解

These three examples represent interesting alternative design choices in the RPC solution space, but lest you think they are the only options, we describe three other RPC-like mechanisms (WSDL, SOAP, and REST) in the context of web services in Chapter 9.

gRPC

sunRPC

通过 libvirt 的 meson.build 可以找到:

    xdr_dep = dependency('libtirpc', required: get_option('driver_remote'))

只能说,用的人不多,至少是在用户态。

kernel 中的直接依赖于 SUNRPC 的模块,似乎也不对

config NET_HANDSHAKE
	bool
	depends on SUNRPC || NVME_TARGET_TCP || NVME_TCP
	default y

kernel 中的 sunrpc 模块测试一下

/sys/kernel/sunrpc
├── rpc-clients
│   ├── clnt-0
│   │   └── switch -> ../../xprt-switches/switch-0
│   ├── clnt-1
│   │   └── switch -> ../../xprt-switches/switch-0
│   └── clnt-3
│       └── switch -> ../../xprt-switches/switch-1
└── xprt-switches
    ├── switch-0
    │   ├── xprt-0-local
    │   │   ├── dstaddr
    │   │   ├── srcaddr
    │   │   ├── xprt_info
    │   │   └── xprt_state
    │   └── xprt_switch_info
    └── switch-1
        ├── xprt-2-tcp
        │   ├── dstaddr
        │   ├── srcaddr
        │   ├── xprt_info
        │   └── xprt_state
        └── xprt_switch_info

用户态的测试 demo 在这里

其他

docs/virtio/gvisor.md 中的 urpc 做啥的?

/proc/ rpc 有好多发内容

看看这个吧

https://github.com/yaakapp/app

本站所有文章转发 CSDN 将按侵权追究法律责任,其它情况随意。