DAOS 使用三种不同的通信通道。
gRPC 和 Protocol Buffers
gRPC 为 DAOS 的管理提供了双向安全通道。它依赖于 TLS/SSL 来验证管理员角色和服务器。
Protocol Buffers 用于 RPC 序列化,所有 proto 文件都位于 proto 目录中。
dRPC
dRPC 是在 Unix Domain Socket 上构建的用于进程间通信的通信通道。
dRPC 提供了 C 和 Go 的接口,以支持以下两者之间的交互:
-
daos_agent
和libdaos
的应用程序进程身份验证。 -
daos_server
(控制平面)和daos_engine
(数据平面)守护进程(如 gRPC、RPC)通过 Protocol Buffers 序列化。
CART
CART 是一个用户空间的函数传递库,它为 DAOS 数据平面提供低延迟高带宽通信。它支持 RDMA (Remote (Direct) Memory Access) 功能和可扩展的集中式操作。
CART 是在 Mercury 和 libfabric 上建造的。
CART 库用于 libdaos
和 daos_engine
实例之间的所有通信。
相关信息
华为云社区:https://bbs.huaweicloud.com/blogs/255628
Emai: debugzhang@163.com
DAOS: https://github.com/daos-stack/daos
本文翻译自 https://github.com/daos-stack/daos/blob/master/src/README.md