腾讯区块链混沌框架,是一套针对分布式账本系统的主动故障演练体系,它借助模拟网络分区,节点宕机,共识延迟等极端场景,来提前发觉系统薄弱之处。这套框架可不是传统测试工具,而是把混沌工程原则融入区块链底层设计,以此保证在真实商业环境里交易不中断,数据不丢失。
混沌框架的核心原理是什么
名为混沌框架的核心部分是“故障注入”以及“稳态验证”,在腾讯区块链这个环境里,它会主动去切断某个共识节点的网络,或者人为地制造消息出现乱序这种情况,在这个时候,该框架会监控交易吞吐量,以及区块确认时间是不是保持在预先设定好的稳态范围之内,要是系统自动触发领导节点进行切换并且恢复共识,那就证明抗脆弱性达到了标准。
如何用混沌框架测试区块链网络
测试一般是分四步来进行的,先是去定义在区块链处于正常状态时的平均出块时长以及成功率,接着要假设存在一个验证节点其硬盘读写速度变得缓慢,随后再执行注入操作,最后去对比指标所发生的变化。腾讯在内部的实践表明,当注入随机丢包为10%之后,经过优化的BFT共识协议依旧能够维持99.99%的交易最终性,并没有出现分叉的情况。
腾讯区块链的故障演练实践
经过实际情况下的演练进程,团队会施行特定的操作行为,也就是把一个地域之内的所有排序服务节点予以关闭。在这样的状况当中,SDK 能够凭借自身能力将请求以巧妙的方式进行路由,使其转移至其他地域,进而让客户端不会觉察到任何有异常的变化情况。
采取的进一步演练办法是,把两个机房之间的线路延迟提高到500毫秒。这时,腾讯区块链混沌框架会起到其关键作用,对跨机房共识予以校验,借此来判断是不是依旧能满足金融级RTO小于30秒这个要求。需要提及的是,这些演练每月都要执行一回,而且演练报告能够自动生成修复建议,为后续的优化与改进提供有力根据。

跟传统高可用测试有何不同
平常的传统测试,通常是于预期场景里开展验证工作,比如,拔掉网线,借此瞧瞧系统是不是能够顺利实现切换。与之不一样的是,混沌框架特别着重突出不确定性,它会开展像随机搅乱内存分配、施行CPU抢占甚至制造时间戳漂移等行为。腾讯区块链曾经借助注入时钟跳变的办法,成功找出了某个状态机回放校验中隐藏的Bug。这种探索性测试能够涵盖在开发阶段没有考虑到的边界条件,进而极大地提升系统的健壮性。
凭借这种途径,混沌框架给测试工作赋予了全新的视角以及方法,它冲破了传统测试仅仅限定于预期场景的约束,使得测试更为全面且深入,如同腾讯区块链的实践所呈现的那般,这种在探索中行进的测试能够找出隐匿于系统深处的那些问题,为系统的完善与优化给予有力支撑,进而大幅提升系统在面对各类复杂状况时的稳定性与可靠性,让其能够更出色地应对现实世界里的种种挑战。
您于实际业务当中运用过区块链的容灾演练了吗?非常欢迎于评论区去分享您的压力测试经验,进行点赞再转发从而让更多开发者知晓这套稳定性方案。
转载请注明出处:imtoken,如有疑问,请联系()。
本文地址:https://zmdyd.cn/zbimqbxz/6916.html
