【问题标题】:Continious E2E monitoring with SDK and service discovery support具有 SDK 和服务发现支持的持续 E2E 监控
【发布时间】:2020-01-08 16:48:34
【问题描述】:

我们有一个自定义系统,我想知道是否有可用的类似物我们可以切换到。

我们的系统针对给定角色的每个节点运行各种与语言无关的测试套件。每个测试过程只是简单地获取目标节点 IP 和一些值,并以特定格式返回测试结果作为输出。

问题是:

  • 这种系统的正确术语是什么?
  • 有没有这样的已知解决方案?
  • 在切换时我们可以采用任何最佳做法吗?

想要的功能是:

  • 用于配置、触发执行和检查结果的 Web 前端
  • 预定执行
  • 智能警报触发
    (例如“超过 5 个节点未通过测试”或“连续 3 次运行未通过测试”)
  • 语言无关测试
    (我们有使用不同语言的 SDK 和帮助程序库,我们也在测试中)
  • 自定义服务发现支持
    (基本上我们希望提供带有角色名称的测试配置,并且调度程序应该获取节点列表)

提前致谢!

【问题讨论】:

    标签: testing continuous-integration end-to-end health-monitoring


    【解决方案1】:

    你的系统让我想起了Scheduler Agent Supervisor pattern

    我将尝试根据您对 E2E 监控的特定需求获取一些分布式系统世界中已知的这种设计模式。这些架构包括 4 个主要参与者,他们的角色如下图所示:

    1) Scheduler 与您的架构中的调度程序具有相同的含义

    2) 代理 将是您架构中的执行者。请注意,下图只是一个基本示例。可以有任意多个,您可以决定它们之间是否进行通信。

    3) 远程服务/资源:在您的情况下,它们将是需要测试的实例。它们是您的代理将处理的资源。

    4) 主管 :即使您没有专门将其包含在您的架构中,并且主管服务会更复杂一些。您可以在您的情况下将您的 Web UI 视为主管。我对您的用例的另一个想法可能是拆分它们。同时拥有一个用于设置的 UI 和一个监控测试结果并且还可以与前端服务通信的主管。尽管目前可能不需要它,但这将为您提供很大的未来改进和发展空间。

    即使这不能回答您的所有问题,我希望它对您有所帮助,也许它可能是更多想法的起点。

    【讨论】:

    • 我曾希望有一些现有的工具可以做到这一点。我猜我们要么坚持当前的解决方案,要么最终重写它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 1970-01-01
    • 2021-04-02
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    相关资源
    最近更新 更多