What is the difference between TPL dataflow and Akka.net?

馋奶兔 提交于 2020-08-04 03:25:21

问题


I have worked with TPL dataflow. Really liked it. I had heard the term Akka many times from my java/scala friends so I tried to read about it and found out that akka has a .net port too. Great. When I continued reading about what akka is, I was surprised to see that it sounds exactly like TPL dataflow.

So coming to my question, what is the difference between TPL dataflow and Akka.net ?

When to chose what ?


回答1:


Akka is an actor based model, and so is TPL Dataflow. As the latter is described as "This dataflow model promotes actor-based programming by providing in-process message passing for coarse-grained dataflow and pipelining tasks." I think there should be an emphasis on in-process, as Akka allows you to create remote actors, which don't necessarily reside inside the same process.




回答2:


I have found a piece of interesting information related to the comparison of Akka.NET and TPL Dataflow, which both are actor-based:

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

For actor model have you checked out Akka.net? It is a port of the Akka framework from Java\Scala that seems to have built up a pretty strong community. Just curious how TPL Dataflow compares?

I've actually talked about it with one of the owners, Aaron Stannard, at .NET Fringe. He said their initial implementation actually used TPL Dataflow underneath. I think TPL Dataflow is more of a library while AKKA.NET is a framework. TPL Dataflow is for in-process pipelines while AKKA is a distributed system infrastructure though they share the same mindset.

Aaron is the co-founder and CTO of Petabridge, as well as the co-founder of the Akka.NET open-source project.



来源:https://stackoverflow.com/questions/39263257/what-is-the-difference-between-tpl-dataflow-and-akka-net

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!