首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/3954808/blog/3003624

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

百亿次的锤炼 - 地狱模式的分布式系统测试

本文以近期开源的Dragonboat多组Raft库为例,介绍Dragonboat这样一个典型分布式系统是如何做测试的。Dragonboat以Go实现,能在普通硬件上提供每秒1000万次以上的强一致读写,它是目前github.com上速度最快的功能完整的多组Raft开源库。欢迎大家试用,并请点Star支持:Dragonboat 最大的误导 常看到有系统吹捧自己可靠的方法是说某大型活动用了它,或说是某某公司某内部项目用了,从而得出可靠的结论,生产环境俨然成了廉价公关软文口中的测试平台。其实众所周知,某活动全场意外当机重启的节点数少之又少,磁盘毁损一整年才2-4%,而故障性的网络分区在很多DevOps岗的整个职业生涯里也就遇到几次而已,以至于多年来各一线公司网络分区造成故障的故事收集起来也才写满几页纸。某活动扛住了或是某项目用了,这些完全不是软件可靠与否的充要条件。 事实其实是残酷的。曾阅读过国内排名前四的某司一个共识库,30分钟代码读下来找到多处数据丢失毁损的bug,实现则是很典型的那种打死也不肯写测试的全裸奔模式。对于软件,任何无法用代码来验证的廉价营销式说辞,不说、不看、不听: 相较于...

Spring 事务提交回滚源码解析

前言 在上篇文章Spring 事务初始化源码分析 中分析了 Spring 事务初始化的一个过程,当初始化完成后,Spring 是如何去获取事务,当目标方法异常后,又是如何进行回滚的,又或是目标方法执行成功后,又是怎么提交的呢?此外,事务的提交和回滚由底层数据库进行控制,而在Spring 事务使用详解中知道,Spring 事务行为可以传播,这个传播方式由 Spring 来进行控制,它是怎么控制的呢?这篇文章就来分析下 Spring 事务提交回滚的源码。 TransactionInterceptor 还记得在Spring 事务初始化源码分析 中注册了一个 bean,名字为TransactionInterceptor 吗?,它就是用来执行事务功能的,它是一个方法拦截器,如下所示: 它实现了 MethodInterceptor 接口,而该接口只有一个 invoke 方法,用来执行目标方法 public Object invoke(MethodInvocation invocation) throws Throwable { Class<?> targetClass = (invo...

相关文章

发表评论

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat

Apache Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

JDK

JDK

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。