设计模式监控分布式系统?

Fan*_*c23 4 design-patterns distributed-computing

我有一个分布式系统:12个应用程序在10个盒子上运行(每个盒子有大约8个核心).我的应用程序是多线程的.

在一天中,我的应用程序非常繁忙.延迟对我的工作至关重要.

鉴于这种情况,我有一个新的额外要求,我必须监视分布在这些应用程序中的一堆内存对象并生成一些报告(可能是网页或文本文件无关紧要).

我正在寻找与监测工作相关的设计模式.困扰我的是,我不应该通过某些监视/观察者线程做任何令人讨厌的事情来引入任何延迟.如果它有所帮助,我现在主要是C++,所以像共享内存等低级别的东西肯定在桌面上.

Skl*_*vvz 6

你的问题非常广泛!

以下是一些开始的想法:

  • 事件驱动的体系结构允许您反转消息流并使异步工作流更容易.

  • EDA也适用于国家管理的事件采购策略.

  • 消息队列通常非常适合作为事件和消息的传输机制.它们通常遵循一些指定的性能特征,但您必须查看它们是否适合您的目的.

  • 如果您需要更高的速度,可以使用无锁结构(如环形缓冲区)作为内存中队列,以将主业务逻辑与报告逻辑分离.

我意识到我的答案非常通用,但希望它会有所帮助.