跳转至

Pulsing 概述

什么是 Pulsing?

Pulsing:分布式 AI 系统的通信骨干。

Pulsing 是一个用 Rust 构建、为 Python 设计的分布式 Actor 运行时。流式优先。零依赖。内置发现。

一句话:用 @remote 把任意 Python 类变成分布式 Actor,无需 etcd、NATS 或 Redis。本地和远程使用同一套 API,原生支持流式通信。


你能用 Pulsing 做什么?

场景 你能得到什么
LLM 推理服务 可扩展的推理后端、流式输出、OpenAI 兼容 API,以及可选的 vLLM/Transformers Worker。
分布式 Agent 多智能体系统,原生集成 AutoGen 与 LangGraph;同一套代码可在本机或跨机运行。
增强 Ray 通信 通过 pul.mount() 为 Ray Actor 增加流式、发现和跨集群调用能力。Ray 负责调度,Pulsing 负责通信。
自定义分布式应用 通过内置 Gossip 或 Head 节点组网,单端口 HTTP/2,构建服务与 Worker。

适合谁用?

角色 收益
AI / ML 应用开发者 一行级扩展:加上 addrseeds(或用 init-in-Ray),即可在多节点跑 Agent 与推理,无需学习新范式。
分布式系统工程师 零外部协调存储;内置 SWIM/Gossip 与可选 Head 拓扑;单端口组网。
Ray 用户 用 Pulsing 作为 Ray 的通信层:pul.mount() 将 Ray Actor 接入 Pulsing 网络,获得流式、发现和跨集群调用能力。

你不需要成为分布式系统专家也能用好 —— 从单进程到多节点,API 保持简洁。


设计理念

  • 零外部依赖 — 核心纯 Rust + Tokio;不依赖 etcd、NATS、Redis。集群发现采用内置 Gossip 或可选 Head 节点。
  • 位置透明 — 本地与远程 Actor 同一套 API:await actor.method() 无论 Actor 在本进程还是远程。
  • Python 优先@pul.remote 将类变成 Actor;spawn() / resolve() 用于创建与发现;原生 async/await 与流式。
  • 单端口 — 每节点一个 HTTP/2 端口同时承载 Actor RPC 与集群协议,便于部署与防火墙配置。

下一步

  • 快速开始 — 几分钟内跑起第一个 Actor,再进阶到有状态与分布式。
  • Ray + Pulsing — 用 Pulsing 作为 Ray 的通信层,或使用 Pulsing 独立 API。