NServiceBuserror是不是表示消息没有按照正确的顺序处理?假设我有一个银行应用程序(我没有开发一个,但我相信它解决了我在许多事件溯源示例中使用过的问题),它生成以下消息:1)向帐户A提取1102)向账户A申请£70信用3)向账户A申请£99提款4)向账户A申请£42提款假设账户A没有透支。现在假设第三条消息失败并出现特定于该消息的错误,例如序列化错误。在这种情况下,消息3被添加到NServiceBus错误队列中。我的理解是管理员使用ServicePulse之类的工具来隔离处理错误队列。假设管理员用了两个小时来处理错误,并在这段时间内完成了第四个事务。这是否意味着第四笔交易在第三笔交易之前处理并且账户可以透支?我已经完成了关于NServiceBus的在线课程,但我对此仍然不清楚。我也在这里查看了类似的问题,例如:HowtouseNServiceBusinCQRStoupdateCommandandQuerystores这是一个很好的问题。作为这些事件来源的系统在余额方面是权威的。银行“核心”是一个更传统的分类账,有两阶段提交(我见过的大多数都有一个夜间循环过程来决定你是否透支)。这个核心系统可以发布消息事务和其他可以转换为NServiceBus的东西。有了这个,你可以做各种有用的事情,比如发送文本警报,将此活动通知其他系统,订阅欺诈预警系统,订阅奖励平台以累积奖励积分等。正如你所说,顺序事件可能因错误而失败。这就是异步消息传递和存储转发的现实。每个接收系统都必须应对这一现实。您可以按时间戳在目的地(如果有)对它们重新排序,但您不能确定在任何给定时间都拥有它们。关于透支条件,最好的思考方式是将其作为与权威核心分开的事件源。这是唯一知道并可以推送“帐户透支”事件的系统,该事件本身可以触发通知、收费、给分支经理的注释……以上是C#学习教程:DoesanNServiceBuserrormeaningsthemessages是不是在正确的顺序处理?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
