代码之家  ›  专栏  ›  技术社区  ›  Conrad

除了触发器,azure功能应用和webjobs在操作和扩展方面有什么不同?

  •  1
  • Conrad  · 技术社区  · 6 年前

    我当前使用azure webjobs处理来自azure队列的请求。一天中,单个webjob最多可以处理来自队列的5000条消息。每个消息都被处理为 最长20秒 . webjob继续监听队列以获取新消息。到达时,选择消息并对其进行处理。

    我读过一些功能应用程序,因为它们支持自动缩放和更友好的定价,所以我想选择它们,但目前我无法就是否加入它们做出合理的决定。

    我主要关心的是工作量效应。如果队列触发的函数应用程序在20秒内仍在处理消息,而其他50条消息则在队列中丢弃,因为它仍在处理第一条消息。它会在处理第二条消息之前等待第一条消息完成,还是创建同一功能应用程序的另一个节点/实例来处理第二条消息和第三条消息….第50条留言?

    如果它创建了多个Function App实例,那么这些新创建的实例是否拥有他们可以利用的最大资源(例如最多6个处理器和5GB RAM),或者它们是否扩展到云中的可用资源?

    1 回复  |  直到 6 年前
        1
  •  0
  •   MarkXA    6 年前

    假设“自动缩放和更友好的定价”意味着您正在考虑一个消费计划,那么缩放实际上取决于云中的可用资源。您可以配置一个函数一次将从队列中提取多少消息,但函数不是单例的,因此如果运行时检测到队列在增长,那么它将触发尽可能多的函数实例,以便及时处理所有消息。