【问题标题】:Distributed systems testing分布式系统测试
【发布时间】:2018-01-19 08:28:53
【问题描述】:

我有一个采用分布式系统架构设计的应用程序。我想测试我的应用程序的可用性,但我是新手。谁能告诉我,这样做更好吗?测试高可用性时首选使用哪些原则?

【问题讨论】:

  • 关闭(或以其他方式使无法访问)分布式系统中的一些节点。然后检查它是否仍然正常运行(没有升高的错误率、响应时间等)。这是该技术的要点。

标签: distributed-system


【解决方案1】:

我负责构建、测试和维护多个分布式系统。出于理智和自动化的考虑,我们的大部分测试都是在单元测试环境中完成的。

我们所做的是将网络和时钟存根,以便我们的测试可以在必要时向前推进。这意味着我们的网络和时钟被注入,我们可以在一个测试中运行多个节点。

我们将这种类型的测试称为交互测试

注意:全局变量和单例不适合这种类型的测试。


我们为网络存根保留的功能包括: * 删除消息的能力——尤其是一对给定节点之间的所有消息。 * 能够选择要传递的消息

我们为时钟存根保留的功能包括: * 时间只会向前移动(我们将系统设计为仅使用纳米时钟,而不是挂钟)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多