問題タブ [akka-persistence]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
420 参照

scala - inmemジャーナルプラグインのAkka readJournalPluginId

readJournalPluginIdinmem ジャーナル プラグインではどれを使用すればよいですか?

0 投票する
0 に答える
408 参照

postgresql - Slick+HikariCP ストリーミングを大量に使用すると接続が不足する

アプリケーションの一部で Akka Persistence 用の akka-persistence-jdbcプラグインを使用し、別の部分で直接滑らかにしています。最もホットな部分を直接の滑らかな使用法から akka-persistence に移行した後、HikariCP は例外をスローし始めました。

これは、遅い SQL クエリの問題ではありません。Explain analyze は、PostgreSQL がそれらを ~1 ミリ秒で実行することを示しています。しかし、接続は何かを待っており、数分間解放されていません。詳細については、こちらを参照してください。

ここに画像の説明を入力

akka-persistence-jdbc書き込みと読み取りにストリーミングを使用しますが、巧妙なバグであるか、そのようakka-persistence-jdbc な操作の方法に問題がある可能性がありますか?

slick 3.1.1、HikariCP 2.3.7、PostgreSQL 9.4 を使用していmax_connections: 120ます。

0 投票する
1 に答える
373 参照

scala - Akka Persistence コマンドを検証するためのベスト プラクティス

コマンドがあるとしましょうAddUser

イベントを永続化する前に、このコマンドを検証する最善の方法は何ですか? たとえば、このような方法で行うと、面倒に思えます。

0 投票する
0 に答える
124 参照

scala - Akka - パターンを尋ねる - 結果を組み合わせる

アクターシステムを設計しています。centerActor は、クライアントに応答するために、actor1 と actor2 の両方からの結果を待つ必要があります。

中央のアクター:

この設計では、送信者 (クライアント) はDoneメッセージを受信できません。どうしてか分かりません。だから私は2番目のデザインについて考えています:

0 投票する
1 に答える
542 参照

cassandra - Akka Persistence Cassandra: タイムスタンプ != オフセット。または、イベントを一度だけ処理する方法は?

現在、Akka Persistence と Cassandra Journal Plugin を使用してイベント ソース アプリケーションを構築しています。複数の永続性 ID のイベントをキャプチャする必要があるいくつかのビューがあるため、eventsByTag クエリを使用して mongodb ビューを更新しています (たとえば)。

アプリケーションを再起動すると、クエリが再生されるため、何らかの形でビューの状態を保存する必要があるため、既に処理されたイベントは再生されません。

最初は、Cassandra プラグインが TimeUUID を内部で使用し、一意である必要があるため、最後に処理されたイベントのオフセットを使用することを計画しました。ここでの問題は、Akka Journal がオフセットとして Long 値のみをサポートしているため、TimeUUID が通常のタイムスタンプに変換されることです。

例えば:

2d2504b1-31f8-11e6-af83-9f34c8060f40 および 2d2504b2-31f8-11e6-af83-9f34c8060f40

どちらも同じオフセットになるため、同じミリ秒内に複数のイベントがある場合、最後に処理されたイベントを決定するという点で役に立たなくなります。

これにもっと良い方法でアプローチする方法について誰か考えがありますか?

編集


CassandraReadJournal、UUIDEventEnvelopes を返す getEventsByTag ストリームのオーバーロードされたバージョンを提供します。これには、Long ではなく UUID としてのオフセットが含まれます。

0 投票する
1 に答える
661 参照

akka - Akka Persistence Query とアクターのシャーディング

私は CQRS Akka アクター アプリのクエリ側をやっています。

クエリ アクターはクラスター シャードとしてセットアップされ、1 つの永続クエリ ストリームからのイベントが入力されます。

私の質問は次のとおりです。

  1. クラスター シャードのアクターの 1 つが再起動した場合、それを回復する方法は?

    • クラスタ シャード全体をシャットダウンし、すべてのイベントに応答しますか?
    • クラスター シャードのアクターを永続的なアクターにし、クエリ側のみの新しいイベント セットを保存しますか?
  2. Persistence Query を使用しているアクターが再起動した場合、現在の PQ をキャンセルして再度開始するにはどうすればよいですか?

0 投票する
1 に答える
196 参照

scala - Akka クラスターのシャーディングが機能しない

Scala 2.11.8 で akka 2.4.7 を使用しています。

イベントは extractShardId と extractEntityId に送信されますが、アクターの receive メソッドには伝達されません。それが何であるかについてのアイデアはありますか?

https://bitbucket.org/kuzelac/apt-billing/overviewブランチの価格-シャード

クラスタ シャードを定義しました。

アクターオブジェクトは

confをに設定しました

アクターは永続クエリによってシードされています