ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Solana Shreds 的传输路径解析:UDP 直发与 gRPC 订阅如何取舍

Solana Shreds 的传输路径解析:UDP 直发与 gRPC 订阅如何取舍 在 Solana 的实时处理中决定数据到达时间的往往不是单台服务器的规格而是从数据产生到抵达应用程序为止的整条传输路径。本文从传输路径的角度梳理 Shreds 的两种获取方式UDP 直发与 gRPC 订阅各自适合的场景以及把传输本身作为服务单位所带来的结构差异。Shreds 与传输路径Shreds 是 Solana 在区块最终形成之前于网络中传播的分片数据。对于需要尽可能早获取链上状态的应用而言Shreds 是比区块更早的一层数据源。正因为它的价值在于早所以传输路径上的每一层处理都会直接抵消这份优势。网络距离、跳数、转发处理、抖动以及传输途中存在的任何处理层都会体现在实际的到达时间上。换句话说Shreds 的工程问题不是如何更快地计算而是如何更短地传输。UDP 直发与 gRPC 订阅的取舍获取 Shreds 主要有两条路径。gRPC 订阅基于 HTTP/2 与 TCP。具备连接管理、重传与顺序保证稳定性高接入方式也符合大多数服务端框架的既有习惯。代价是连接建立与错误处理带来的额外开销。UDP 直发无连接。数据从传输端直接发往接收端指定的 IP:port不做重传与顺序保证。丢包由应用层自行处理换来的是更短的处理链路与更低的抖动。两者并非替代关系而是取舍关系以最低延迟为最优先的场景 → UDP以现有 gRPC 接口进行流订阅、看重稳定性的场景 → Shredstream gRPCERPC 在这两条路径上都会持续提供服务。此次产品线调整中终止的是专用型 Shredstream 产品以及 Stream Bundle2026 年 9 月 5 日之后不再提供而通过 gRPC 接收 Shreds 的既有产品不受影响。端到端路径延迟由哪些部分构成把 Solana 网络到应用程序之间视为一个整体系统时影响到达时间的要素大致可以拆成以下几层邻近性与 Solana 网络的物理与网络距离数据中心与网络路径跳数、对等互联质量、拥塞状况服务器硬件与 NIC中断处理、队列、卸载能力OS 与内核网络栈配置、调度、缓冲区最终传输方式数据以何种协议、经过多少中间层交付给用户只优化其中一层收益通常会被其他层吃掉。高速 CPU 与 NIC 无法弥补物理距离带来的传输时间同样路径再短若最终交付环节多了一层代理或转换抖动也会随之增加。Shredstream gRPC 与 Geyser gRPC 的分工两者都使用 gRPC但传输的数据与用途不同实践中经常被混为一谈。Shredstream面向 Shreds 的数据源目的是在尽可能早的阶段获取分片数据。适合对时间点敏感的应用。Yellowstone Geyser gRPC以实时流的形式订阅 validator 已处理完成的交易、账户、区块等数据。数据结构完整、语义明确适合需要可直接消费的结构化数据的场景。选型时的判断标准并不是哪个更快而是需要的是更早的原始数据还是已处理完成的结构化数据。把传输本身作为服务单位传统做法是把专用服务器或专用端点作为产品单位用户购买的是一套环境传输是这套环境附带的能力。这种结构在工程上有一个副作用——优化的对象变成了环境而用户真正需要的是数据更快到达。两者并不总是一致。因此新的做法是把传输路径本身作为服务单位由传输端直接把 Shreds 通过 UDP 发往用户指定的 IP:port中间不再保留以环境为单位的抽象层。路径变短可控的变量也随之减少。ERPC 计划于 2026 年 9 月提供的 UDP Shreds Forwarding 采用的正是这一结构。小结Shreds 的价值在于早因此传输路径上的每一层处理都值得单独评估UDP 与 gRPC 是取舍关系前者压缩延迟与抖动后者提供稳定性与既有接口兼容Shredstream 与 Geyser gRPC 的区别在于数据阶段原始分片 vs 已处理结构化数据而非速度端到端延迟由邻近性、网络路径、硬件、内核与最终交付方式共同决定单点优化收益有限把传输本身作为服务单位可以减少路径上的抽象层使延迟更可控
返回列表