Jepsen团队对NATS JetStream 2.12.1版本进行了深入测试,发现了多个严重的可靠性问题。测试表明,即使仅少数节点出现文件损坏(如.blk或快照文件的单比特错误),也可能导致大规模消息丢失(高达78%的已确认消息)或整个流被删除。此外,默认每两分钟才将数据刷新到磁盘的策略,在节点同时断电或快速连续故障时会导致已确认消息丢失。更严重的是,单个操作系统崩溃结合进程暂停或网络分区可能引发持久性脑裂,不同节点返回不同的消息集。Jepsen建议NATS将fsync默认值改为立即执行,或明确警告用户这些风险。这些发现对依赖NATS JetStream构建分布式系统的开发者具有重要参考价值,提醒他们关注数据一致性和系统可靠性。
原文链接:Hacker News

IT资源栈
评论前必须登录!
立即登录 注册