获得徽章 0
赞了这篇文章
赞了这篇沸点
#每天一个知识点# 每天一个知识点|确定性模拟:排除系统潜在问题的绝佳测试技术
确定性模拟(Deterministic Simulation)是一种独特的系统测试技术,它可以将整个分布式系统的各个组件运行在一个单线程模拟器上,从而实现系统的确定性执行。
这一技术的最大好处在于能够稳定地复现那些可能运行上千次才出现一次的 bug,并且运行速度非常快,能够在短时间内模拟现实中很长时间的行为。
有了这一工具,我们就可以在有限的时间内尽可能多的测试系统在不同环境下的行为。而一旦发现了问题,也可以非常从容地去排查和除错。这一技术曾经被应用在分布式 KV 数据库 FoundationDB 中,对提高该系统的稳定性与可靠性作出了不可磨灭的贡献。
如果大家对确定性模拟感兴趣的话,动动小手点赞,我们将发文介绍确定性模拟产生的背景、基本原理、测试框架的设计,以及我们在 RisingWave 中应用确定性测试的方法和经验。
图 2 为基于 Rust 异步编程生态实现的分布式系统确定性模拟器“madsim 测试框架”的内部结构。
确定性模拟(Deterministic Simulation)是一种独特的系统测试技术,它可以将整个分布式系统的各个组件运行在一个单线程模拟器上,从而实现系统的确定性执行。
这一技术的最大好处在于能够稳定地复现那些可能运行上千次才出现一次的 bug,并且运行速度非常快,能够在短时间内模拟现实中很长时间的行为。
有了这一工具,我们就可以在有限的时间内尽可能多的测试系统在不同环境下的行为。而一旦发现了问题,也可以非常从容地去排查和除错。这一技术曾经被应用在分布式 KV 数据库 FoundationDB 中,对提高该系统的稳定性与可靠性作出了不可磨灭的贡献。
如果大家对确定性模拟感兴趣的话,动动小手点赞,我们将发文介绍确定性模拟产生的背景、基本原理、测试框架的设计,以及我们在 RisingWave 中应用确定性测试的方法和经验。
图 2 为基于 Rust 异步编程生态实现的分布式系统确定性模拟器“madsim 测试框架”的内部结构。
展开
评论
2
赞了这篇文章
前端小白的疑问,我想做一个个人工作台,它会把一个页面分割成几个区域,这几个区域显示第三方系统的内容,如果不用iframe,还有什么好的实现方式,有没有可能让第三方系统做组件,我把他们组装在一起?
11
1
赞了这篇文章
赞了这篇文章
![[呲牙]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_2.cd1e2bd.png)
![[看]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_97.39cdc9f.png)
![[哭笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_61.a296509.png)
![[泣不成声]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_40.348108b.png)