何时使用 Azure Functions
因为 Azure Functions 使用基于事件的体系结构,所以有许多有趣的情况都可以应用此类体系结构。 下面是适用场景的非详尽列表:
提醒和通知。 Azure Functions 有一个触发器,可以指示触发器按特定时间间隔运行,因此能直接实现此类方案。 可能存在接受通知可能属于业务关键型事务的情况。
计划任务。 任务可以使用上文所述的基于时间的触发器。 此类情况可能涉及需要按特定时间间隔完成的作业,例如数据清理或查找一段数据。
实验性 API。 使用消耗计划(与 Functions 一起使用),能以很低的价格完成数百万次调用。 需要记住的一点是,任何类型的存储都会产生费用。
例如使用函数向数据库写入内容。 此计划非常适合用于原型制作,或者用于初创公司。 在后一种情况下,如果对函数有大量调用,很可能意味着存在付费客户。 Azure Functions 就是这样随业务缩放的。 随着业务的发展,可能还需要考虑采用其他托管计划。
不规则但重要的业务流。 在一些情况下有充分的理由运行代码,例如获取并加入新客户时。 此类流可能包含与数据存储交互、发送电子邮件等操作。
基于队列。 你可能有一个售票应用,且需要以队列方式处理请求。
实时处理数据。 如果与 Azure SignalR 结合使用,Azure Functions 可以按需处理数据。
分析 IoT 流。 可以从 IoT 设备收集和处理数据。
处理文件上传。 在 blob 存储中上传或更改文件时运行代码。
无服务器工作流。 可将一系列函数链接在一起,并能引入状态,从而可以通过 Durable Functions 设计复杂的长期工作流。 工作流的另一个选择是逻辑应用,这些应用可以监视外部事件、执行分支逻辑并基于这些内容调用函数。
Azure Functions 还有许多其他的适用情况,上述场景可以作为启发,帮助你在应用基于事件的推理和体系结构时在云中创新。