gpt4 book ai didi

Azure 队列和表存储事务最佳实践

转载 作者:行者123 更新时间:2023-12-02 08:04:51 25 4
gpt4 key购买 nike

使用 azure 表存储,我阅读了有关同一分区内的实体组事务的信息。现在,如果我将 Azure 队列与表存储一起使用会发生什么。是否可以从队列中处理消息,插入到表存储中。如果出现问题,是否回滚并再次将消息放入队列?

或者我应该如何使用 Azure 处理这种情况

最佳答案

表和队列没有任何关联的事务。

以下是一些常规队列使用指南:

  • 确保队列操作是幂等的 - 也就是说,多次执行队列消息会得到相同的结果,并且会产生可重复的副作用
  • 设置合理的队列消息可见性超时。如果您的任务看起来需要更长的时间,您可以延长消息的不可见超时时间。这可以防止其他线程/角色实例在您仍在处理同一队列项时获取该队列项。
  • 对于长时间运行的任务(或者如果可能的话,您希望避免多次消耗资源的任务),请一路修改队列消息,给自己状态提示。例如:您有一个渲染视频队列消息:'RENDER|Source-URL'。您正在渲染视频,它需要两次通过。您已完成第 1 遍,结果存储在临时 blob 中。您可以使用 'RENDER|Source-URL|Pass1-URL' 等内容修改消息。现在,假设出现问题并且您的渲染任务由于某种原因失败。稍后,当您再次收到此消息时,您可以从第 2 关开始,而不是从头开始。
  • 您无需担心将消息放回到队列中。在您显式删除消息之前,消息实际上不会从队列中删除。它们只是在您选择的不可见超时时间内不可见。如果您未在该期限结束前删除(或延长该期限),则该消息将再次可见以供其他人阅读。 注意:此时,一旦其他人读取了队列消息,原来的消息持有者将无法再删除该消息。

关于Azure 队列和表存储事务最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9174399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com