在Azure中实现事务发件箱事件架构

问题描述

我有一条大消息提交给休息服务,可能是100k或50mb。我需要异步处理它,看起来事务发件箱事件模式适合我的需求。

有效地,我的服务会将数据以及事件记录一起提交到数据库中。进程将轮询事件,然后将事件推送到消息队列。事件通常通过某种唯一标识符包含对db中数据的引用。队列的使用者将查询数据库中的数据,执行所需的任何操作,然后从数据库删除事件记录。

此模式已被详细记录。 Herehere是两个地方。

我对在我们熟悉的.net / sql服务器环境中如何实现此本地部署有合理的了解。天蓝色,这会是什么样?我还有其他方法可以过渡地写入数据库和不需要发件箱模式的队列,也可以遵循发件箱模式,轮询数据库中事件的机制是什么,什么将提供队列服务? / p>

解决方法

通常,如果要在天蓝色中使用事务发件箱事件模式,则可以使用逻辑应用程序或天蓝色函数在数据库中获取事件并将其发送到队列。 如果您使用cosmos变更供稿,那么这样做会很棒,这样您的体系结构也是反应性的,并且可以在减少资源消耗的情况下运行良好。

为避免这种情况,....您应该天蓝色地找到一个可以与您的数据库进行事务的队列,并且据我所知,至少您不能使用第三部分队列。