Akka分散 - 聚集用于字符串处理

时间:2013-09-19 08:55:37

标签: java scala akka scatter akka-cluster

我要求将输入字符串拆分为输出字符串/ s(带有一些顺序) 通过在输入字符串上应用一组正则表达式。我想实施 这个功能与akka演员集群以这种方式分散了 正则表达式和输入字符串并收集字符串。不过我想知道 收集已处理的字符串时,如何跟踪订单。我不是 确定“Scatter-Gather”是否是正确的方法,如果还有其他方法 可以适合请建议。

1 个答案:

答案 0 :(得分:2)

我猜你必须向收集者提供关于如何按顺序组装字符串的提示。您没有提到订单是如何建立的:初始拆分是否可以定义订单或正则表达式处理是否定义订单。

在这两种情况下,您需要跟踪3件事: - 最初的来源, - 每件单品的顺序 - 总件数

您可以使用以下消息:

case class StringSegment(id:String, total:Int, seqNr:Int, payload:String)

散射体根据输入生成StringSegment

def scatter(s:String):List[StringSegment] ...
scatter(input).foreach(msg => processingActor ! msg)

并且收集者会将它们组合在一起,使用seqNr知道顺序,total知道所有部分何时出现。