2014-11-06 46 views
9

如何决定创建几个带有1个函数的WebJobs,并将几个函数捆绑到一个或几个WebJobs中? 谢谢Azure Webjobs:有几个函数的一个作业,或者每个有一个函数的几个作业?

+1

我认为它主要取决于你的用例。主要的问题是,如果你想触发相互独立的功能,每个功能都使用自己的时间表。你有特定的场景吗? – 2014-11-06 18:45:46

+0

说我有2个功能。每个从独特的blob容器读取,并写入一个唯一的队列。他们完全独立于对方。我应该使用JobHost将它们放在同一个WebJob项目中吗?或单独的项目? – Nestor 2014-11-06 19:02:35

+1

如果你彼此独立开发它们(可能有不同的团队可以在其中一个团队中工作),我会选择两个独立的项目。如果它们彼此独立,但生活在相同的功能领域(例如具有不同消息工作者的一个消息传递系统),则可以将它们放入一个项目中。这主要是个人偏好问题,如果他们逻辑上在同一个域。 – 2014-11-06 19:17:11

回答

4

有没有直接的答案给你的问题。抱歉。

通常你按工作流或角色分组。例如,如果您的工作流程包含调整图像大小的函数,则应用水印的函数和复制图像的函数会将所有函数放在一起,因为它们是相关的。当您修改流程时,您更有可能改变它们。

另一方面,你可能会认为功能应该分开。除非您更改输入/输出,否则没有理由修改多个函数。但是,如果您需要更改多个功能,则最终将编辑更多项目。

正如你所看到的,两个论点都有利弊,而且没有正确的答案。

尝试实验,看看哪种方法对您的解决方案更好。

PS:我可以给出的唯一指导原则是:如果函数非常小(几行代码),可能会更容易将它们放在同一个webjob中,因为在维护多个程序集时会有相当多的开销。

相关问题