Hasty Briefsbeta

双语

Use Vsock with Libzmq

22 days ago
  • AF_VSOCK 是一种用于虚拟机与虚拟机监视器之间通信的套接字地址族,类似于提供流和数据报服务的 TCP/UDP。
  • VSOCK 自 Linux 4.8 起得到支持,从 5.6 开始提供了像 VMADDR_CID_LOCAL(回环)这样的预留 CID。
  • 存在针对 Python、C、Golang、Rust 的低级绑定,但在 libzmq 添加 VSOCK 支持之前,没有高级抽象。
  • libzmq 的 VSOCK 实现(PR #4822)允许在所有拥有 libzmq 绑定的语言中使用 AF_VSOCK,并支持认证(Curve)、请求/回复、发布/订阅等功能。
  • 分叉的 pyzmq(pyzmq-vsock)允许在没有虚拟机的情况下,在回环(CID local)上测试 VSOCK,使用 'vsock://@:port' 端点。
  • 示例演示了一个基于 VSOCK 回环的简单 REQ/REP 你好世界程序,以及一个使用 Curve 认证和 asyncio 的生产级示例。