libzmq 新增 VSOCK 支持,打通虚拟机通信
Use Vsock with Libzmq
AF_VSOCK 是 Linux 内核中用于虚拟机与宿主机通信的 socket 地址族,此前在 libzmq 中仅有 VMCI 实现。我基于 VMCI 代码快速提交了 PR,为 libzmq 添加了 VSOCK 支持。这意味着 Python、Node.js 等语言的用户可以直接利用 libzmq 的高级特性,如 Curve 认证和多种消息模式,通过 VSOCK 进行安全通信。文章提供了基于 VSOCK 回环地址的 Hello World 示例,以及结合 asyncio 和 Curve 加密的生产级代码,展示了如何在无需真实虚拟机的情况下测试和部署 VSOCK 应用。
如果你计划使用 VSOCK,很快就会发现只有底层绑定可用,没有任何能为你抽象 socket 的魔法库。
- dwrodri
我觉得这对那些需要 VM 沙箱化软件,同时又需要在宿主机和虚拟机之间快速搭建简易桥接的人来说非常有用。太棒了!
- sthustfo
虚拟机(Guest VM)与 Hypervisor 通信的典型用例有哪些?我在 Proxmox 的链接(https://pve.proxmox.com/wiki/Qemu-guest-agent)上看到了两个用例:
1. 关闭虚拟机
2. 在备份/快照期间冻结虚拟机系统
只是好奇是否还有其他可能的用例。
- remijouannet
你好,我最近为 libzmq 贡献了 AF_VSOCK 支持。如果有人在尝试使用它的话