我很好奇Scala&的当前库。 Akka,这将允许我优雅地构建工作流程管道。
在我的情况下,工作流程只是一个操作的DAG,因此演员/ Akka感觉非常合适。
我的问题是什么是最好的方法?像反应流一样的Libs允许真正优雅的管道组合,但它们似乎非常注重记录。
我的用例是在它们之间传递消息的操作流。未来的构图很好但是语法在一段时间后变得难以处理。也许有一些更好的scalaz和无形。
使用消息传递为计算步骤的流水线构建DSL有哪些方法和工具?
2 个答案:
答案 0 :(得分:3)
虽然仍处于早期开发阶段(编写前1.0版),但您应该查看akka-streams,这正是一种描述计算图并以异步方式运行的方法。
答案 1 :(得分:2)
如果您的管道非常类似于方法调用链,使用一系列方法调用!
没有必要使解决方案变得比它需要的更复杂;如果它被一系列方法调用很好地建模,那就用它吧。 (或者你可以编写的功能。)
如果您需要稍微复杂的内容但实际上并不需要传递任何消息,则可能需要AsyncFP或Scala.Rx之类的内容。
如果你需要一个多核解决方案,但是你有一些类似于方法调用的延伸,那么在一站内进行一系列方法调用。您可以使用Akka流,而不必过多担心有用计算比的开销。