Akka 即时消息应用的演员模型?

Akka 即时消息应用的演员模型?,akka,message-queue,messaging,akka.net,actor-model,Akka,Message Queue,Messaging,Akka.net,Actor Model,我有使用消息传递技术(如RabbitMQ等)的企业分布式系统的背景,尽管我对Actor Model相对较新 话虽如此,我想知道对于类似于Whatsapp的应用程序,使用Actor模型框架,如AKKA或AKKA.NET,是否是一个好主意? 考虑到此类应用程序的要求(高可用性、低延迟等) 我的另一个问题是,Erlang的内置参与者模型是大公司将其用于消息传递应用程序的原因还是我不知道的其他原因 技术解释是高度赞赏的。 提前感谢。我相信actor模型是使Erlang应用程序具有容错能力的因素之一 进程

我有使用消息传递技术(如
RabbitMQ
等)的企业分布式系统的背景,尽管我对
Actor Model
相对较新

话虽如此,我想知道对于类似于
Whatsapp
的应用程序,使用
Actor模型
框架,如
AKKA
AKKA.NET
,是否是一个好主意? 考虑到此类应用程序的要求(高可用性、低延迟等)

我的另一个问题是,Erlang的内置参与者模型是大公司将其用于消息传递应用程序的原因还是我不知道的其他原因

技术解释是高度赞赏的。
提前感谢。

我相信actor模型是使Erlang应用程序具有容错能力的因素之一

进程/参与者可以在不影响其他进程或损坏共享数据的情况下死亡,因为没有共享数据。Erlang进程的启动成本也很低,因此,如果您需要一个进程或每个客户端10个进程,这不是问题。Erlang使用监督树,它可以以几种不同的策略重新启动进程,例如一对所有或一对一,因此,如果一个进程失败,它可以重新启动该分支中的所有进程或一个进程,而不必接触其他进程。当您有数百万客户参与实时语音/视频/聊天会话时,这一点非常重要

Erlan还内置了并发和垃圾收集功能。与其他语言相比,您花在思考如何扩展项目以及如何防止项目崩溃上的时间要少得多。由于模式匹配、OTP和“让它崩溃”的思维方式,用低级语言开发它也比用低级语言开发更快


抱歉,如果技术不够,也许其他人可以参与进来。如果你想了解erlang的大致情况,请查看这些视频-

在你看来,它是否使
演员模型
成为即时消息应用程序的一个好选择?考虑到Whatsapp,并且据我所知,Facebook Messenger现在使用erlang,我想说是有资格的人打了这个电话。另外,RabbitMQ是一个用Erlang编写的即时通讯工具)这是一个不错的选择,但这个问题不适合SO@KeithNicholas为什么不呢?这是一个宽泛的概念。但事情并不总是真的或假的。不知道为什么这里的人坚持这样做。因此,正是因为这个想法,我们才结束了很多好问题。这与好与坏无关,有许多好问题对我们来说并不好,这常常让提问者感到沮丧,但我们真的试图更像维基百科,对特定问题给出明确的答案。它在很多特定的编程问题上都能很好地发挥作用,当谷歌搜索到这些问题时,答案会排在最前面。对于讨论/基于观点/过于宽泛的问题来说,这不太好,因为没有明确的答案。不幸的是,没有一个好的地方可以推荐人们去回答这类问题。是的,但问题是“有明确答案的问题”本身的定义是宽泛的。所以这不是一个讨论的地方,但它应该是一个分享经验的地方(这可能不是一行或两行的“确定”答案)。我是我自己,几乎已经知道我问题的答案。我只需要知道该领域其他人的推理或经验(可能与我不同)。我们所有人