跳至内容
0%

如何设置备用 RPC

Alchemy team headshot

作者 Alchemy

发布于 2022年8月10日1 分钟阅读

什么是远程过程调用(RPC)?

远程过程调用(RPC)是一种技术,软件借此可以在同一网络中与其他系统进行远程通信,以访问软件或数据。在 RPC 方法中,客户端发起请求(例如请求数据),服务器远程处理该请求。

在区块链领域,这项技术以RPC 节点的形式得到了应用,这是一种 API,区块链开发者可以通过它与区块链服务器(即节点)进行交互。这样一来,区块链开发者就能够构建需要通过 RPC 节点连接到区块链的 web3 软件,例如应用

在本文中,我们将说明使用区块链节点提供商以及配置备用 RPC 端点的重要性,并介绍需要备用或替代 RPC 端点的各种原因。

此外,如果你希望在现有区块链项目中集成备用 RPC 端点,我们还会介绍设置备用 RPC 端点的几种不同方法。

什么是备用 RPC 端点?

备用远程过程调用(RPC)端点是主 RPC 端点出现故障或宕机时使用的备份端点。RPC 端点故障可能导致数千笔甚至数百万笔交易失败。

为此,开发者开始寻找主 RPC 端点故障时的应对方案。其中一种方案是设置备用 RPC 端点,在主 RPC 端点无法正常工作时作为故障保护机制。

备用 RPC 端点与私有 RPC 端点类似——后者是专供某个应用或钱包使用的专用端点——但两者在实现方式上有所不同。备用 RPC 端点指的是备份端点,而私有 RPC 端点仅表示非公开端点。

什么情况下适合使用备用 RPC 端点?

对于区块链开发者来说,备用 RPC 端点有多种潜在用途,从解决公共 RPC 端点不可靠的问题,到修复数据不准确等常见交易问题。在本节中,我们将介绍几种备用 RPC 端点可能派上用场的常见情况。

1. 主 RPC 提供商宕机

设置备用 RPC 端点的主要用途之一,是在主 RPC 完全宕机、导致支持区块链的软件与区块链失去连接时作为备份方案。如果没有可以立即切换的备用 RPC,这可能导致区块链驱动的软件暂时无法正常运行。

例如,2022 年 7 月,由 Ankr 托管的 Polygon 公共 RPC 端点发生了全网范围的故障,首席信息安全官(CISO)Mudit Gupta 建议改用未受此次宕机影响的其他 Polygon RPC 提供商,例如 Alchemy。

在2022年7月公共 RPC 提供商 Ankr 遭到劫持后,Polygon 建议用户切换到 Alchemy。
在2022年7月公共 RPC 提供商 Ankr 遭到劫持后,Polygon 建议用户切换到 Alchemy。

2. 交易无法通过主 RPC 提供商完成

备用 RPC 端点的另一个重要用途,是在主 RPC 端点出现拥堵或响应缓慢、导致交易延迟时作为备份方案。对于高度依赖与区块链即时通信的应用来说,这种情况可能造成严重后果。

在选择备用提供商之前,可以参考 Alchemy 的 RPC 提供商基准测试,比较当前的延迟和成功率数据。

当交易失败时,使用备用 RPC 端点是确保 web3 用户体验不受不稳定节点影响的有效备份方案。

3. 主 RPC 提供商的数据不准确

由于区块链是全球分布式系统,部分节点提供商返回的区块链数据不准确,原因在于其节点网络与公共区块链不同步。

当某个节点提供商的服务器集群出现不同步的情况时,用户会收到不准确的数据,例如余额错误、NFT 缺失,整体用户体验变差。

在这种情况下,若在区块链应用中集成了备用 RPC 端点,就可以轻松地从主节点提供商切换到备用节点提供商,以避免返回不准确的数据。

4. 主 RPC 提供商不具备可扩展性

最后,当主 RPC 端点在高流量时段(例如代币空投、热门 NFT 发售或激励性链上活动)面临可扩展性方面的挑战时,备用 RPC 端点也能派上用场。

在这种情况下,备用 RPC 端点可以分担高流量,避免主 RPC 端点因扩展性压力而崩溃。

应对故障端点的 3 种方法

在处理故障 RPC 端点时,主要有三种解决方法:在同一端点上重试交易、在一系列 RPC 端点之间轮换交易,或更换主 RPC 提供商。

1. 在同一 RPC 端点上重试交易

处理故障 RPC 端点的一种方法,是向同一 RPC 端点发送额外的请求。在这种方法中,开发者会以较短的时间间隔反复向同一 RPC 端点发送请求。这种技术最适用于 RPC 端点仅短暂宕机的情况,开发者可以持续发送请求,直到该 RPC 端点恢复上线。

2. 在多个 RPC 端点之间轮换

另一种方法是连接一个或多个备用 RPC 端点,并在一系列不同的 RPC 端点之间发送 RPC 请求。通过这种方式,开发者无需在同一端点上反复重试同一笔交易,而是拥有多个可供重试的选项,从而避免单个故障 RPC 端点毁掉整个区块链应用。

如果遇到 RPC 端点故障,使用一系列备用 RPC 提供商的开发者只需连接到其批准列表中的另一个端点即可。

如何在 Ethereum 上设置备用 RPC 提供商

由于设置一系列备用 RPC 端点可能颇具挑战,一个更简单的选择——具体取决于你的应用架构——是将主 RPC 端点替换为更可靠的备用提供商,例如 Alchemy。

采用这种方法时,你无需在多个不同端点之间轮换,也无需在同一端点上重试交易,而是可以直接用可靠的备用端点 URL 完全替换原有的 RPC 端点 URL。

Background gradient

构建区块链应用

Alchemy 将最强大的 Web3 开发者产品和工具与资源、社区及专业支持结合在一起。