【发布时间】:2018-06-03 08:01:35
【问题描述】:
所以,我正在分析使用 Functions 从主题中消费服务总线消息是否可行。
我们选择的服务总线定价计划对每月的“代理连接”数量(最多 1000 个)有限制。
我的理解是,在典型的使用场景中,消费者/听众/订阅者连接到一个主题并保持持久连接,在很长一段时间(一天,甚至一周)内接收多条消息而不会中断连接,并且这被视为 1 个“代理连接”。最后,您可以在单个代理连接上接收数千条消息。
这如何与 Azure 函数绑定一起工作?从我在文档中读到的,一个函数可以是空闲的(即没有运行),所以它不能维持这个持久连接。
是否有一个单独的函数组件可以保持此连接处于活动状态以侦听传入消息?还是每次函数空闲然后重新启动时,我们都会为新的代理连接付费?
我将包含当前计划功能的屏幕截图: https://azure.microsoft.com/en-us/pricing/details/service-bus/
稍后在同一链接中:
编辑
来自Docs:
服务总线对超过包含数量(标准层为 1,000)的并发代理连接的峰值数量收费。峰值按小时计算,除以一个月内的 744 小时后按比例计算,并在每月计费期间累加。包含的数量(每月 1,000 个代理连接)在计费期结束时根据按比例分配的小时峰值总和应用。
他们在最后一句话中特别提到了“每月 1,000 个代理连接”。
这是一个例子:
10,000 台设备中的每台都通过单个 AMQP 连接进行连接,并接收来自服务总线主题的命令。设备将遥测事件发送到事件中心。如果所有设备每天连接 12 小时,则适用以下连接费用(除了任何其他服务总线主题费用):10,000 个连接 * 12 小时 * 31 天 / 744 = 5,000 个代理连接。在每月允许 1,000 个代理连接之后,您需要为 4,000 个代理连接付费,每个代理连接 0.03 美元,总计 120 美元。
所以我想所有这些都是针对 10,000 个订阅者在 12 小时内同时连接到该主题的,如果他们每天连接 24 小时,那么将收取 9,000 个代理连接的费用(10,000 减去包含的 1,000)?
无论如何,我也在尝试验证是否可以使用函数进行持久连接(我被告知它们与 webjobs 相关)。
【问题讨论】:
-
你找到答案了吗?我也担心代理连接,似乎没有人了解 azure 函数触发器的成本
标签: azure azure-functions azureservicebus servicebus