Azure 服务总线中的数据库/缓存,用于在其他地方完成的队列中的作业
Posted
技术标签:
【中文标题】Azure 服务总线中的数据库/缓存,用于在其他地方完成的队列中的作业【英文标题】:Database/Cache in Azure Service Bus for jobs in queue completed elsewhere 【发布时间】:2021-12-28 00:33:27 【问题描述】:我有一个 API(python-flask 应用程序)在 azure 的应用程序服务上运行,并希望使用 Azure 服务总线实现排队系统,以便将来自 API 的请求发送到由服务管理/运行的简单 FIFO 队列公共汽车。 Azure 中的另一个资源将从该队列中提取并根据队列元素中消息中包含的 json/payload 的内容运行作业。
当此元素已被其他资源处理时,我想对作业状态/元数据进行编码(例如,“完成”以及元数据,例如结果数据的存储位置)。我读到了这样一个系统,它使用了 Redis 提供的轻量级数据库,但是,我想知道是否可以通过 Azure 服务总线获得类似这种轻量级数据库/缓存系统的作业状态/ids/元数据?我知道 Redis 可以在 Azure 中的 VM 上独立运行,但是,如果这一切都可以通过服务总线进行管理,那将是理想的。我在 Azure 服务总线中找不到有关此功能的详细信息,并且由于以后如何访问此作业元数据,我不能只将元数据消息推送到新队列。
是否有人对此或潜在的替代方案有任何见解?如果 Redis 可以在同一个应用程序服务中与烧瓶一起运行,那将是理想的,但我再次无法找到任何明确的内容,而且似乎不可能同时运行烧瓶服务器/应用程序和 Redis 服务器同时在应用服务上。
谢谢。
【问题讨论】:
【参考方案1】:我想知道是否有类似这种轻量级数据库/缓存系统的东西 的作业状态/ids/元数据可通过 Azure 服务总线获得?
Azure 服务总线是一个完全托管的企业消息代理,Azure Redis 是一个带有类固醇的 NoSQL 数据库。它还提供队列机制和其他一些数据结构。
似乎不可能同时运行烧瓶服务器/应用程序和 Redis 服务器同时在一个 App Service 上。
你可以,但在容器内。
请检查这是否对您有帮助:https://***.com/a/39008342/1384539
【讨论】:
以上是关于Azure 服务总线中的数据库/缓存,用于在其他地方完成的队列中的作业的主要内容,如果未能解决你的问题,请参考以下文章
如何使用标准 Azure 逻辑应用的无状态工作流可靠地处理 Azure 服务总线消息
在 Azure 数据工厂中完成活动后,如何向 Azure 服务总线发送消息