【问题标题】:Durable function based design for long running activity耐用的基于功能的设计,适合长时间运行的活动
【发布时间】:2020-02-06 13:32:37
【问题描述】:

根据业务需求,我们需要将第三方 AD 的广泛客户数据输入到我们的应用程序数据库中,然后需要与第三方 AD 建立实时同步,以与他们之后的更改同步。

为此,我们的端 API 和第三方端 API 已准备就绪。由于这种入职和实时同步活动是按需发生的(不是 24x7,而是每当第三方 AD 资源发生变化或每当我们获得新客户端时)我更喜欢做基于 Azure 功能的解决方案,但 Azure 功能最大。消费计划超时 10 分钟,我认为这不符合我们的要求。目前我们暂不考虑 Azure 功能的其他托管方案。

&响应可能会返回 1000 秒的用户变化。

然后编排器循环遍历用户更改列表并为列表中的每个用户调用全新的活动函数,这反过来又调用内部 REST API(将只接受一个用户对象而不是用户列表作为其参数)和板载用户访问我们的应用程序。

通过这种设计,我们最终可能会在我们的 Azure 帐户中同时运行数千个相同活动功能实例。这可能吗?

在给定的时间点上,特定活动函数的最大实例化数量是否有限制?

每个活动功能都只是常规的 Azure 功能吗?

有没有更好的方法来设计而不是为每个新的入职用户资源创建新的活动函数实例?

可以通过 Azure 功能的持久扩展实现长时间运行的 Activity 功能,单独将在消费计划下处理持续时间超过 30 分钟的活动?请提出建议。

【问题讨论】:

    标签: azure-functions azure-durable-functions


    【解决方案1】:

    问:通过这种设计,我们最终可能会在我们的 azure 帐户中同时运行数千个相同活动函数的实例。这可能吗?
    答:
    是的。您的方案通常称为fan-out/fan-in pattern。


    问:在给定的时间点上,特定活动函数的最大实例化次数是否有限制?
    答:
    您可以参考couple of performance targets documented,但请注意,它们将取决于您的活动函数的作用。

    另外,您可以尝试不同的throttle settings 来改善数字但要注意文档中提到的后果。


    问:每个活动函数都只是常规的 Azure 函数吗?
    答:
    是的。把它想象成一个队列触发函数


    问:是否有更好的方法来设计而不是为每个新的入职用户资源创建新的活动函数实例?
    A:
    消费计划应该能够轻松处理此类场景,但请注意扇入操作在performance targets doc 中提到的单个VM 上运行。如果此操作需要处理(如聚合),您可以考虑使用 sub-orchestrations 将其拆分到多个 VM。


    问:Azure 功能的 Durable 扩展可以实现长时间运行的 Activity 功能,仅在消费计划下就可以处理持续时间超过 30 分钟的 Activity?
    答:
    不能使用消费计划。您必须使用Premium Tier 或App Service Plan。


    【讨论】:

      猜你喜欢
      • 2020-05-18
      • 1970-01-01
      • 2014-02-08
      • 1970-01-01
      • 2013-05-28
      • 2020-03-07
      • 2017-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多