我们尝试在我们的项目中遵循 SOA 和 DDD 原则。我们使用 NServicebus 作为消息总线。到目前为止,我们有 20 多项服务。
你们如何设置监控(我不是在谈论技术监控——比如服务“xyz”是否可达——硬盘是否已满)?
例如
如果下订单并在 5 天后完成发货,但它应该在 1 天后执行......这是一个错误情况。
或者另一个例子:运输完成。现在我们向客户发送电子发票。我们必须存档该发票并与第三方(存档提供商)异步交谈以检索我们的发票。如果 5 天后仍未检索到该发票……那就是错误情况。
在定义如何对错误的标准和放置这些标准的位置进行建模时,我遇到了问题。
在哪里 ...
...您是否设置了监控规则?
监控规则是您的有限上下文的一部分吗?我想是的。
监控规则是否与实体直接相关?我想不是。
监控规则是否与聚合直接相关?我想不是。
监控规则就像跨多个聚合的域服务,但与域服务相反,它也可以跨多个有界上下文。
谁负责?
如何 ...
...您是否在代码中设置了监控规则?
如果你想把它做对,它真的需要付出很大的努力。否则,您可以非常便宜地做到这一点(在这里和那里进行一些查询),但那是针对 SOA 的(我关心的主要部分)
请指导我找到一个清晰且易于实施的解决方案。
我也很高兴了解您如何设置它。