Service Fabric Actors 或 Azure Functions

Posted

技术标签:

【中文标题】Service Fabric Actors 或 Azure Functions【英文标题】:Service Fabric Actors or Azure Functions 【发布时间】:2018-03-14 14:05:55 【问题描述】:

我试图了解 Azure 中的 FaaS 和 Service Fabric 中的 Actor 之间的区别。对我来说,两者几乎都做同样的事情并且是无服务器的。唯一的区别是 Actor 是单线程的。区分这两者有什么好的解释吗?

【问题讨论】:

【参考方案1】:

Service Fabric Actor 实际是一个有状态服务,因此 Service Fabric 将为您维护状态。过度简化示例:您有一个方法可以将 1 添加到从 0 开始的变量 x 中。您调用该方法两次。当您获得 x 时,您将获得 2 的有状态服务。

Azure 函数不是。与上面的示例类似,即使您两次调用它,您也会得到 1,因为您的状态没有得到维护。您实际上可以按照此处描述的方式共享状态。然而,这可能并不意味着你应该这样做:-) https://markheath.net/post/sharing-state-between-azure-functions。

【讨论】:

【参考方案2】:

我对此的粗略笔记。

ASE = 应用服务环境, CP = 功能消耗计划, SF = 服务结构

配置

功能 - PaaS 模型,没有真正的操作系统考虑 SF - 必须提供容器。更接近 IaaS

计算

消费计划中的功能 - 共享空间 ASE 中的函数 – 专用执行区 SF 专用秤组

费用

CP 中的功能 - 很可能更便宜 - 按使用付费 ASE 中的功能 - 与 SF 相当或更昂贵 SF – 价格适中,最少需要 5 个节点

开发者体验

函数 - 相当简单 SF - 相当复杂

服务升级

功能 CP - 简单,配置没有最小栏。只需部署函数。 功能 ASE – 需要一点时间。完整的 ASE 环境。 SF – 需要一点时间。最少 5 个节点

缩放

函数 - 自动消耗和 ASE SF - 支持

欢迎对话框...

【讨论】:

以上是关于Service Fabric Actors 或 Azure Functions的主要内容,如果未能解决你的问题,请参考以下文章

如何为远程 Service Fabric 集群创建 Actor 代理

Service Fabric Actor 备份适用于 1 个参与者,而其他所有参与者都失败

Service Fabric - 如何保留或保护我的硬编码端口

aZURE Service Fabric

是否可以添加或删除 Service Fabric 有状态服务命名分区

Service Fabric - 无法进行配置升级以添加或删除节点