如何将 Azure 函数缩放到高吞吐量的短期事件网格事件



当将大量事件发布到主题时(其中重试次数和生存时间以分钟为单位),许多事件无法传递到订阅的函数。有谁知道任何设置或方法来确保缩放快速反应而不会全部删除它们?

我正在创建一个 Azure 函数应用,该应用实质上是以高速率将事件传递到事件网格主题,订阅主题的其他函数将处理这些事件。这些事件的生存期很短,持续时间不超过一组指定的分钟数。理想情况下,我希望看到应用程序扩展以处理负载而不会丢弃事件。总体目标是每个事件都会触发对我自己的 API 的出站 API 终结点调用,以测试性能/负载。

我已经查看了有关 MSDN 和其他位置的文档,但不太适合我的方案(大多数讨论的是传入事件而不是出站 http 事件)。

对于缩放,我已经研究了 http 的 host.json 设置(因为网格事件没有设置,网格事件看起来类似于 http 触发器),并且设置这些设置似乎做了一些改进

我期望的最终结果是,对于每次发布到主题终端节点,它都会被传递到一个函数并以较低的失败交付/丢弃率执行。

我所看到的是,当将许多事件发布到一个主题(并且以一致的速率)时,大多数事件都会被死信/丢弃

消耗计划受分配给函数的计算能力的限制。从本质上讲,它可以扩展到一些极限,然后它成为瓶颈。

我建议看看限制。

在这里,您可以了解有关计算能力差异的一些见解。

如果要启用自动缩放或缩减 VM 实例数,建议使用应用服务计划。支持缩放的最便宜选项是标准定价层。

最新更新