Akka提供了一些高性能:
单台机器上有5000万消息/秒。内存占用小;每GB堆大约250万个演员。
actor表现为“喜欢”单个线程,意味着您可以并行处理消息。我只是好奇它是如何在每个GB的堆中拥有~250万个演员?这是否意味着我可以使用actor执行250万个并行任务?显然,每GB不能有这么多线程。
答案 0 :(得分:3)
您不需要250万活跃参与者来处理5000万msg /秒。 Akka团队在一台48核机器上工作的96名演员达到了50M msg / sec(请参阅下面的详细链接)。
基本上,这些数字(“5000万msg / sec”和“每GB约250万名演员”)彼此无关。
“每GB约250万名演员”意味着Akka演员体重轻,占用内存很少(当然,他们一次都不能活动 - 这在很大程度上取决于核心和数量调度程序设置中的线程数。)“5000万msg / sec”意味着可以通过仔细调整actor池大小和调度程序设置(see details here)来实现这种性能水平。