私は akka の永続化、akka のリモート処理、akka のシャーディングを使用してアプリに取り組んでいます。DDD/CQRS アプローチを採用しています。
以下はアプリの構成です。
akka {
loglevel = INFO
actor {
provider = "akka.cluster.ClusterActorRefProvider"
}
remote {
log-remote-lifecycle-events = off
netty.tcp {
hostname = "127.0.0.1"
port = 9088
}
}
cluster {
seed-nodes = [
"akka.tcp://akkaworld@127.0.0.1:9088"
]
auto-down-unreachable-after = 20s
}
persistence {
journal.plugin = "cassandra-journal"
}
}
アプリ全体に対して 1 つのアクター システムを作成しています。間違っている場合は訂正してください。デフォルトのディスパッチャーは、デフォルトで、少なくとも 8 つのスレッドを持つ fork-join スレッド プールを使用します。
クライアントからの何百万ものリクエストをサポートする必要があります。akka の永続性/シャーディング/クラスタリングを使用する場合にアクター システムのディスパッチャーを調整する方法、推奨されるディスパッチャーのタイプは何ですか? スレッド プールごとのスレッドを計算する方法 コアを考慮する必要がありますか? OS のタイプを考慮する必要がありますか? JVM の構成は問題になりますか? また、app conf でカスタム ディスパッチャ構成を指定する方法。
基本的に、アクター システムごとにディスパッチャーの実行を決定する基準を理解したいと考えています。
良好なパフォーマンスを得るために akka の永続性/クラスター/シャードの種類のアプリケーションを調整するために必要な他の構成はありますか?
また、akka persistence/cluster/shard の種類のアプリケーションをチューニングするための推奨事項は、非常に役立ちます。
-プラキャットMM