图解PD分离分布式架构及端口配置解析

1. 顶层:外部访问与路由层

  • 入口:最上方的"访问"是外部请求(如用户/客户端的HTTP/gRPC请求)。

  • 路由(router) :请求首先到达 port: 8090的路由服务。它负责负载均衡 ,将请求分发到下游的 Prefill或 Decode服务(图中显示 Prefill 0/1、Decode 0/1两个实例组)。

2. 中间层:业务逻辑服务(Prefill / Decode)

Prefill 和 Decode 是两类核心业务服务(可能是"预填充"和"解码"类的计算任务),各有 2个实例(0、1) ,体现水平扩展设计。

(1)router → Prefill/Decode 的通信端口
  • Prefill 0/1对外(router访问)的端口:30003(两个实例共享同一端口,说明是"端口复用",通过实例ID区分)。

  • Decode 0/1对外(router访问)的端口:30002(同理,端口复用,实例0/1)。

(2)Prefill ↔ Decode 的内部通信端口
  • disaggregation_bootstrap_port(图中标注为 PREFILL_PORT):

    • Prefill 实例之间、Prefill → Decode 实例的通信端口:8999(双向箭头表示互相通信,比如Prefill计算后把中间结果发给Decode)。
  • dist_init_addr(图中标注为 DIST_PORT):

    • Prefill 内部(0↔1)、Decode 内部(0↔1)的通信端口:6000(Prefill实例间)、6001(Decode实例间)(双向箭头表示实例间同步/协作)。
(3)实例区分:RANK
  • RANK字段:Prefill 0/1、Decode 0/1的 RANK分别为 0和 1,用于服务内部区分实例(类似"节点ID",在多实例环境下标识自身身份,比如选举、分片归属)。

3. 底层:元数据与消息中间件

这两个是系统的"基础设施",为业务服务提供状态管理 和异步通信能力:

  • etcd(存储):

    • 端口:2379(etcd默认客户端端口,用于存储全局元数据,如服务注册、配置、分布式锁、数据分片位置等)。

    • 作用:保证多实例/多服务的状态一致性(基于Raft协议),是"分布式系统的脑"。

  • NATS(消息):

    • 端口:4222(客户端连接端口)、8222(监控/管理端口)。

    • 作用:作为消息总线 ,实现服务间的异步通信(如Prefill处理完任务后,通过NATS发消息通知Decode;或事件驱动的流程触发)。

4. 特殊配置:1PID 不需要的两项

图右侧注释"1PID 不需要这两项",指的是 dist_init_addr(DIST_PORT)和 RANK。

  • "1PID"可能是指单进程/单实例部署模式(或特定的简化部署场景)。此时不需要"实例间通信端口(DIST_PORT)"和"实例区分(RANK)",因为只有一个实例,无需多实例协作或身份标识。

整体流程总结

  1. 外部请求 → 路由(8090)→ 负载均衡到 Prefill/Decode(30003/30002)。

  2. Prefill/Decode 实例间通过 8999(跨服务)、6000/6001(同服务内)通信,完成业务逻辑。

  3. 系统依赖 etcd(2379)存储全局状态(如服务注册、分片信息),依赖 NATS(4222/8222)做异步消息传递。

  4. 若为"1PID"单实例场景,可省略 DIST_PORT和 RANK配置。

相关推荐
非优秀程序员2 小时前
第12章 烧钱无底洞!!!不烧就死,烧了也不知道啥时候死|《互联网产品恩仇录》
人工智能
Godspeed Zhao2 小时前
从零开始学AI25——无监督学习之层次聚类
学习·机器学习·聚类
Zelman9453 小时前
第06章-交互与观察动作空间
人工智能
冬奇Lab3 小时前
开源项目第258期:Harness² —— Google Research 的「递归式 Agent Harness 优化」,模型权重不动,只改 Agent 的外壳
人工智能·开源
字节跳动视频云技术团队4 小时前
每两家头部手机厂商就有一家选它:火山引擎如何成为 AI 手机助手的“隐形底座”?
人工智能
泯泷5 小时前
像项目经理一样指挥 AI 团队:管理者模式
人工智能·llm·agent
京东云开发者5 小时前
双11囤Token火了:京东搜索量暴涨7倍,AI生产力成新刚需
人工智能
ahccqw5 小时前
OpenCV 车辆数量统计
人工智能·opencv·计算机视觉
人工智能AI技术6 小时前
LangGraph 本地 build 频频翻车,最终在服务器跑通流式对话
人工智能