Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Masstransit 使用内存发件箱时,大众运输公司如何处理重复数据消除和邮件id生成的重试_Masstransit_Outbox Pattern - Fatal编程技术网

Masstransit 使用内存发件箱时,大众运输公司如何处理重复数据消除和邮件id生成的重试

Masstransit 使用内存发件箱时,大众运输公司如何处理重复数据消除和邮件id生成的重试,masstransit,outbox-pattern,Masstransit,Outbox Pattern,大众运输有一个内存中的“发件箱”实现,我认为它将处理我希望解决的大多数问题/挑战,但是我找不到很多详细描述其功能的文档。很多问题都是在观看了Udi Dahan解释如何在没有分布式事务的情况下处理可靠的消息传递()的视频后提出的 内存中发件箱是否处理尝试向队列发送消息时可能发生的故障?例如:消费者生成3条信息,这些信息收集在发件箱中。使用者完成时没有问题。发件箱中收集的邮件将开始处理 如果由于某种原因,在处理收集的消息时出现网络问题(或其他问题),并且消息2无法发送,那么消息2和3会发生什么情况

大众运输有一个内存中的“发件箱”实现,我认为它将处理我希望解决的大多数问题/挑战,但是我找不到很多详细描述其功能的文档。很多问题都是在观看了Udi Dahan解释如何在没有分布式事务的情况下处理可靠的消息传递()的视频后提出的

  • 内存中发件箱是否处理尝试向队列发送消息时可能发生的故障?例如:消费者生成3条信息,这些信息收集在发件箱中。使用者完成时没有问题。发件箱中收集的邮件将开始处理
    • 如果由于某种原因,在处理收集的消息时出现网络问题(或其他问题),并且消息2无法发送,那么消息2和3会发生什么情况?是否存在某种重试策略
    • 如果发件箱中正在处理的邮件成功添加到队列,但未成功标记为发件箱中已发送,会发生什么情况?是否会再次尝试将消息发送到队列
    • 假设发件箱将在出现某种故障时重试向队列发送消息,那么消息ID是否保证在两次尝试之间保持一致?具有一致的消息ID对于重复数据消除非常重要,以确保我们不会多次处理同一消息
  • 使用邮件时是否会发生重复数据消除?(这与1.C有关)
    • 大众运输如何跟踪每个消费者的已处理记录?存储引擎是否承担此责任
  • 是否有任何类型的“事务”向使用者公开,允许您在不引发异常的情况下清除发件箱中收集的邮件,或者引发异常是回滚发件箱的唯一方法?
    • 对于在使用者外部生成的消息,是否有方法回滚发件箱中收集的消息(例如:WebAPI控制器操作)
  • 是否建议使用大众交通的DTC功能,而不是发件箱,或者反之亦然,或者同时使用两者
  • 目前,大众运输没有一个发件箱实现,可以在流程崩溃后生存。是否有计划包含此类功能?有跟踪这一点的路线图吗
  • 内存中发件箱延迟任何消息发送/发布/响应调用,直到使用者完成所有处理。这包括普通消费者和传奇故事。消费者所做的最后一件事是发送/发布任何延迟消息,然后确认传入消息(并从队列中删除)。话虽如此,问题中剩下的大部分内容都是无关的,因为它不是将消息写入数据库,然后再进行处理

  • 没有

  • 没有
  • 不要使用DTC,它在.NET Core中甚至不受支持
  • 没有计划,路线图上什么都没有
  • 正如您在开始时所说,内存中的发件箱可以处理99.9%的情况。一个精心设计的传奇和支持服务可以将这一点推得更高,从而确保幂等性并最终成功地进行命令(或事件)处理。除了目前的情况之外,任何东西通常都是为了支持设计糟糕的系统,并且只会通过额外的依赖性造成太多的复杂性