gpt4 book ai didi

azure - 如何避免在 azure cosmos 容器上选择相同行的并发选择查询

转载 作者:行者123 更新时间:2023-12-03 06:24:37 25 4
gpt4 key购买 nike

我想在 azure cosmos 容器上运行一个轮询器,它将定期运行并触发一个选择查询,例如 -:

SELECT * FROM c ORDER BY c._ts DESC LIMIT 100

选择行后,我将在应用程序中执行操作。问题是,如果我需要水平缩放此轮询器以供将来使用 2 个实例,并且它们同时运行,我如何防止它们选择相同的行集?

此外,我没有利用变更提要处理器,因为要使变更提要处理器水平扩展,我们需要更多的物理分区。即使在一个物理分区内,我也需要水平扩展。

我可以实现乐观锁定,但我不想选择然后拒绝行。有没有办法在选择操作本身时选择不同的行集?

最佳答案

让单个进程读取数据并将行分布到水平可扩展处理器上。该单个进程可以是定时器触发的 Azure 函数,其 cosmos db input binding或您自己的应用程序。我的观点是:您不应该扩展轮询器,而应该扩展处理。

一些选项:

  • 将每一行放入队列并使用队列触发的 Azure 函数
  • 使用行数据创建 http 请求,并将其发布到 http 触发的 Azure 函数或任何合适的端点(如果可以扩展到多个实例,则可以是您自己的应用程序)
  • 将行发送到 Azure 事件中心并设置一些处理逻辑

关于azure - 如何避免在 azure cosmos 容器上选择相同行的并发选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75642961/

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