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

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

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

  • 路由(router) :请求首先到达 port: 8090的路由服务。它负责负载均衡 ,将请求分发到下游的 PrefillDecode服务(图中显示 Prefill 0/1Decode 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/1Decode 0/1RANK分别为 01,用于服务内部区分实例(类似"节点ID",在多实例环境下标识自身身份,比如选举、分片归属)。

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

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

  • etcd(存储)

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

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

  • NATS(消息)

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

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

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

图右侧注释"1PID 不需要这两项",指的是 dist_init_addrDIST_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_PORTRANK配置。

相关推荐
fanfan_hongyun27 分钟前
UE5.1 学习记录-玩家控制器
学习·ue5
yyywxk1 小时前
ICML 2026 目标检测(object detection)方向上接收论文总结
人工智能·目标检测·计算机视觉
vibecoding777 小时前
一文搞懂企业级 API 网关选型:12 个维度、4 类企业、7 步落地
人工智能·大模型·ai编程
Rocktech_ruixun8 小时前
机器人本地跑LLM大模型对主板硬件有什么要求?瑞迅科技RK3588/3568方案选型解析
人工智能·科技·嵌入式硬件·机器人·边缘计算
yxlalm8 小时前
Spring AI+RAG 01-项目背景与技术选型
java·人工智能·spring
tedcloud1238 小时前
Wand-Enhancer 怎么搭建?开源 Wand 客户端增强与远程控制工具介绍
大数据·服务器·人工智能·开源·音视频
传奇开心果编程8 小时前
【xilem0.4基础语法学与练】第13课:Xilem 0.4 最简短代码体现“一切皆设计图“
学习·rust·前端框架
科技苑8 小时前
如何用Python编程实现一个简单的Web爬虫?
人工智能·python
小雪崩8 小时前
嵌入式学习 day45:51单片机基础
学习·51单片机
迅利科技8 小时前
新能源汽车零部件研发,SIMULIA一站式仿真解决方案如何缩短研发周期
人工智能·汽车