本文介绍了Solana Geyser Plugins的设计与实现,探讨了其在数据复制和RPC负载管理中的作用。文章深入分析了Geyser Plugins的功能、接口及其开发方法,并总结了当前可用的Geyser Plugins,以及如何创建自己的插件。
本文介绍了Sig工程团队对Solana验证器进行的内存优化,包括为AccountsDB实现新的缓冲池,以及为Gossip Table提供新的后端,显著减少了Gossip的内存占用。通过自定义Buffer Pool替代mmap,减少了内存占用,并提升了I/O性能。同时,通过数据导向设计,使用SplitUnionList结构优化了Gossip Table的内存存储,减少了内存浪费。
本文是 Syndica 团队关于 Sig 工程更新系列博客的第三部分,重点介绍了 Solana 的自定义账户数据库 AccountsDB 的核心概念和 Syndica 团队的 Sig 实现细节,包括快照、账户文件、账户索引、读取和写入过程,以及后台任务(如刷新、清理、收缩和清除)的实现细节。文章还包括与 Agave 客户端的基准测试结果,展示了 Sig 在账户读写性能方面的优势。
Syndica 的 Sig 取得重大进展,完成了 Sig 的 AccountsDB,改进了 RPC 服务器/客户端,并改进了 Gossip 协议的实现。