TPL数据流和Akka.net有什么区别?

Bil*_*ani 9 .net task-parallel-library actor akka

我使用过TPL数据流.真的很喜欢它.我曾经多次从我的java/scala朋友那里听过Akka这个词,所以我试着读一下它,发现akka也有一个.net端口.大.当我继续阅读关于akka的内容时,我惊讶地发现它听起来与TPL数据流完全一样.

所以我的问题是,TPL数据流与Akka.net有什么区别?

什么时候选择什么?

Yuv*_*kov 5

Akka 是一个基于actor 的模型,TPL Dataflow 也是如此。后者被描述为“该数据流模型通过为粗粒度数据流和流水线任务提供进程内消息传递来促进基于参与者的编程。” 我认为应该强调in-process,因为 Akka 允许您创建远程参与者,这些参与者不一定驻留在同一进程中。


Vad*_* S. 5

我发现了一条与 Akka.NET 和 TPL Dataflow 的比较相关的有趣信息,它们都是基于 actor 的:

http://blog.i3arnon.com/2016/05/23/tpl-dataflow/

对于演员模型,您是否查看过 Akka.net?它是来自 Java\Scala 的 Akka 框架的一个端口,它似乎已经建立了一个非常强大的社区。只是好奇 TPL Dataflow 的比较如何?

我实际上已经与 .NET Fringe 的一位所有者 Aaron Stannard 讨论过这个问题。他说他们最初的实现实际上在底层使用了 TPL 数据流。我认为 TPL Dataflow 更像是一个库,而 AKKA.NET 是一个框架。TPL Dataflow 用于进程内管道,而 AKKA 是分布式系统基础架构,尽管它们具有相同的思维方式。

Aaron 是 Petabridge 的联合创始人兼首席技术官,也是 Akka.NET 开源项目的联合创始人。