本文介绍了 Agnostic 如何通过结合 AWS 的实例存储和弹性块存储(EBS)优点,成功降低 Polygon节点的存储延迟,实现了高效、低延迟的读取操作。该方法不仅提升了服务性能,还确保了数据的持久性和易于备份。
由 Arnaud Briche 和 Nikolay Vlasov 于2024年5月22日发布在[高级 (300)](https://aws.amazon.com/blogs/database/category/learning- levels/advanced-300/ "查看所有高级 (300) 的文章"), ,
这是一篇由 Agnostic 创始人 Arnaud Briche 合作撰写的客座文章。
在 中,我们的使命是使结构良好的区块链数据更加开放。我们致力于提供快速、用户友好、坚固的查询方法,以处理智能合约区块链生成的大量数据。出于性能原因,最初我们选择了无机房服务提供商,但随后决定利用 AWS 的全球覆盖来扩展业务并提高服务的可靠性。
我们支持的一个区块链网络是 ,该网络具有高吞吐量要求,需要在块存储卷上实现低毫秒级的读取操作延迟。这对于区块链客户端 保持网络最新状态至关重要。当我们测试 (Amazon EBS) 的 时,我们发现尾延迟无法始终满足预期目标,而 EBS 在成本效率方面对我们的设置存在挑战。尾延迟是指系统中少数响应时间较长的部分,与其他响应时间相比的持续时间。
在这篇文章中,我们展示了我们创造的另一种解决方案,以实现所需的超低延迟读取操作。
我们实施的解决方案结合了 (Amazon EC2)
和通用持久 EBS gp3 块存储的优势。我们选择使用实例存储卷作为一种具有成本效益的低延迟存储选项。这些卷位于物理连接到主机计算机的磁盘上,可以在 中使用临时的低延迟块级存储。以下图表说明了整体解决方案的工作原理。

该解决方案包含以下关键组件:
设置完 RAID 数组后,我们安装和配置了 ,以利用其内置的 进一步优化空间消耗。
此外,我们还创建了一个 模板,附带用户数据脚本,以简化部署和配置。要在您的 AWS 账户中尝试类似我们的预配置实例,可以使用以下堆栈:
请务必检查所有配置参数,并选择 我认可 AWS CloudFormation 可能会创建具有自定义名称的 IAM 资源 s 。
请注意,此模板将部署免费层以外的资源,并会产生额外费用。您可以根据以下部分讨论的基础设施考虑事项来 。
我们选择了 实例模型,配备了两个每个大小为 7500 GB 的 NVMe SSD 实例存储卷。然后我们附加了一个 14000 GiB 的 EBS gp3卷,以匹配实例存储卷的总大小。为简单起见,我们还使用了 Ubuntu Linux 20.04 版本。然后我们通过以下步骤完成了设置:
bash mdadm --verbose --create /dev/md/0 --level=0 --raid-devices=2 /dev/nvme2n1 /dev/nvme3n1
bash mdadm --create --verbose --assume-clean --force /dev/md/1 --level=1 --name=1 --raid-devices=2 /dev/md/0 --write-mostly /dev/nvme1n1
bash apt -yqq install zfsutils-linux
新数据卷将挂载到文件系统的 /data 目录下,我们将继续 .
如果您使用我们的 CloudFormation 模板创建实例,则用户数据脚本会自动为您执行上述步骤。
部署完成后,您可以使用 连接到您的 EC2 实例,这是 的一个功能。更多细节,请参阅 。
您可以使用以下命令检查存储配置。
bash df -h | grep /data
bash mdadm --detail --scan --verbose
bash lsblk
bash zfs get all data
然后,您可以继续 。确保在 中配置 /data,并在与新 EC2 实例相关的安全组中 ,以 。
要删除使用上述“ Launch Stack ”链接部署的所有资源, ,选择您部署的堆栈(默认名称为“ single-bc-node-with-RAID10 ”),然后在右上角点击“ Delete ”按钮。
删除)
在这篇文章中,我们分享了 Agnostic如何成功创建一个与裸金属设置相匹配的节点,同时大幅提升耐用性,能够高效备份和复制数据,快速提供节点。这一成就体现了顶级性能与无与伦比的灵活性相结合的例子。了解更多关于 的信息,如果您有进一步的问题,请在 上提出,记得标注“区块链”。如果您在所提供的 CloudFormation 模板中遇到问题,请在 中打开一个问题。
删除)ArnaudBriche 是 Agnostic 的创始人。他的专长是大规模构建和管理分布式系统。
![Nikolay删除)NikolayVlasov 是 AWS 全球专业解决方案架构师组织的高级解决方案架构师,专注于与区块链相关的工作负载。他帮助客户在 AWS上运行支持去中心化网络和账本技术的工作负载。
评论加载中...
Leave a Reply