【发布时间】:2015-08-01 14:26:48
【问题描述】:
像 AKKA.net 这样的 Actor 模型带来了很多好处,比如可扩展性、反应性、内存缓存等......当我尝试将 AKKA 与 Azure Service Bus Queues 进行比较时,我看到几乎相同的主要除了内存缓存的好处之外,Azure 服务总线的好处。
在生产环境中,AKKA 需要多个具有更多内存和处理能力的虚拟机来处理内存中的数百万演员。对于 Azure 服务总线队列,不需要强大的主机。即使我们使用actor模型,也不需要进行监督或创建actor系统来管理数百万个actor。 Azure 服务总线自动实现可伸缩性。
从长远来看,我认为 Azure 服务总线队列具有成本效益。随着负载的增加,不需要 IT 管理员来管理它。也不需要多核的强大系统。
AKKA 参与者模型是否适合具有多核系统的本地数据中心,而不适合在考虑成本效益时可以使用 Azure 服务的应用程序?
【问题讨论】:
-
我认为您是在比较苹果和橙子。 Akka(从未使用过,只是读过它)是一个演员模型框架。服务总线用于持久消息传递和发布/订阅。另外:这个问题没有正确的答案,因为您要比较许多主观或特定于项目的事物:功能集、定价等。我认为这是一个征求意见的问题。
-
根据此链接doc.akka.io/docs/akka/2.0.2/modules/durable-mailbox.html AKKA 使用持久存储提供消息的持久性。对我来说,如果我们将业务领域分开,两者都提供相同的基础设施优势。在actor模型中,域可以作为actor存在,基础设施的好处也是内置的。在Azure SB的情况下,没有业务域。
-
我的意思是您将参与者模型框架与消息传递基础架构服务进行比较。它们不可互换,因为它们提供不同的功能,一个是具有 SLA 的服务等。而且你想知道 akka 是否是一个合适的框架,这是一个离题的问题,因为它是一个意见问题。如果它适合您的应用程序,请使用它。此外,服务总线在 Windows Server 中工作。你应该用那个吗?同样,取决于您,特定于应用程序。
-
我使用在 Windows 上运行并在 Azure 上托管的 AKKA.NET。持久性方面是我正在努力解决的问题。
-
啊 - 那将是一个不同类型的问题。 :) 鉴于 akka 具有文件系统持久性,并且 Azure 具有基于 SSD 和非 SSD 的持久附加磁盘存储,因此可以轻松回答。
标签: azure akka azureservicebus akka.net