問題タブ [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.
scala - inmemジャーナルプラグインのAkka readJournalPluginId
readJournalPluginId
inmem ジャーナル プラグインではどれを使用すればよいですか?
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
ます。
scala - Akka Persistence コマンドを検証するためのベスト プラクティス
コマンドがあるとしましょうAddUser
:
イベントを永続化する前に、このコマンドを検証する最善の方法は何ですか? たとえば、このような方法で行うと、面倒に思えます。
scala - Akka - パターンを尋ねる - 結果を組み合わせる
アクターシステムを設計しています。centerActor は、クライアントに応答するために、actor1 と actor2 の両方からの結果を待つ必要があります。
中央のアクター:
この設計では、送信者 (クライアント) はDone
メッセージを受信できません。どうしてか分かりません。だから私は2番目のデザインについて考えています:
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 としてのオフセットが含まれます。
akka - Akka Persistence Query とアクターのシャーディング
私は CQRS Akka アクター アプリのクエリ側をやっています。
クエリ アクターはクラスター シャードとしてセットアップされ、1 つの永続クエリ ストリームからのイベントが入力されます。
私の質問は次のとおりです。
クラスター シャードのアクターの 1 つが再起動した場合、それを回復する方法は?
- クラスタ シャード全体をシャットダウンし、すべてのイベントに応答しますか?
- クラスター シャードのアクターを永続的なアクターにし、クエリ側のみの新しいイベント セットを保存しますか?
Persistence Query を使用しているアクターが再起動した場合、現在の PQ をキャンセルして再度開始するにはどうすればよいですか?
scala - Akka クラスターのシャーディングが機能しない
Scala 2.11.8 で akka 2.4.7 を使用しています。
イベントは extractShardId と extractEntityId に送信されますが、アクターの receive メソッドには伝達されません。それが何であるかについてのアイデアはありますか?
https://bitbucket.org/kuzelac/apt-billing/overviewブランチの価格-シャード
クラスタ シャードを定義しました。
アクターオブジェクトは
confをに設定しました
アクターは永続クエリによってシードされています