11

私は Akka Stream をいじっており、実体化後の柔軟性を理解しようとしています。

これを行う 1 つの方法は、低レベルのリアクティブ ストリーム API を使用することです: http://doc.akka.io/api/akka-stream-and-http-experimental/1.0-M3/#akka.stream.scaladsl.PublisherSource

ただし、パブリッシュまたはサブスクライブするこれらのポイントを定義する必要があります。任意のマテリアライズド フロー グラフ ノードを公開またはサブスクライブする方法はありますか? マテリアライズド フロー グラフはアクターの集まりにすぎないため、これは可能です。

例: 最初に、フロー グラフ 1 をデプロイします: A ~> B ~> C

次に、フロー グラフ 2 と 3 をデプロイします: D ~> BB ~> E

4

1 に答える 1

10

ストリーム処理パイプラインの構造を完全に動的に変更することはできません。特定の種類の動的処理ステージ (「出入りする可能性のあるワーカーへのファンアウト」など) を予見していますが、一般的に、ストリームとストリーム処理パイプラインは具体化の前に定義済みのレイアウトを持つ必要があります。これは、一般的に akka-streams と react-streams で採用されている背圧メカニズムのためにも理にかなっています。内部で慎重に管理する必要があり、任意の相互作用を許可することは、このストリーミングモデルが設計されたものではありません。

任意の相互作用が必要な場合は、アクターの方が適しているはずです。処理パイプラインを操作するために外部信号を受け取ることができる処理要素が必要な場合は、要素だけでなく、これらの信号を受け取るように設計された具体化されたパイプライン内の特別な要素になります。


この投稿を公開してから、いくつかの動的機能を追加しました。これは、このサイトにアクセスする人々にとって興味深いかもしれません。最も顕著なのは、MergeHubBroadcastHubです。

現在、Akka Streams の安定版は2.4.16.

于 2015-02-17T14:23:26.773 に答える