在一个分区内,jet 是否按顺序处理每个项目,和/或是否有设置以这种方式进行配置?
谢谢香农
每个源处理器按顺序处理一个外部分区中的项目。例如,每个 Kafka 分区都分配给单个处理器实例,处理器按顺序发出数据。
但是,如果下游处理器从多个上游处理器获取项目,则未指定顺序。但是,来自一个上游处理器的项目永远不能重新排序。
示例:让我们有两个顶点A和B。A有两个实例:A1,A2;B只有一个实例B1。如果A1发出项目I1和I2并且A2发出I3和I4,B1可以按任何顺序接收它们,但它永远不能在I1之前接收I2或在I3之前接收I4。例如I3 , I1 , I2 , I4是可能的顺序,但I2,I1,I3,I4不是。
在这些情况下,将保持两个顶点之间的顺序:
Edge.isolated()
使用。请注意,在这些情况下,下游处理器始终有一个上游处理器。
也看看这张图片(取自这里)。两个Tokenize圆是Tokenize顶点的两个处理器实例。