分散環境での複数のポリシー決定ポイント(PDP)のシミュレーション

rshah

サブジェクトが毎秒多くのオブジェクトへのアクセスを要求するシナリオを考えてみましょう。単一のPDPに大きな負荷がかかると、リクエストごとの待機時間と読み取り/書き込み時間が長くなります。

これまで、AuthzForce Coreプロジェクトを使用して、複数の要求を送信するforループを持つ単一のPDPをセットアップしました(これはスレッドを使用して同時に実行できます)。ただし、これは分散環境でポリシーを評価するための適切な設定ではないようです。

それを行う方法はありますか?おそらくAuthzForceサーバーを使用していますか?

編集

AuthzforceCoreを使用するJavaアプリケーションを実行しています。プログラムは、単一のポリシードキュメントをロードするPDPのインスタンスを作成し、forループが複数の要求を実行します。これはすべて、プログラム自体の中でローカルに行われます。

シリルデンジャービル

コードやアーキテクチャを見ずにここでパフォーマンスを向上させるのを助けるのは難しいですが、いくつかの一般的なヒントを与えることができます(それらのいくつかはあなたには明白かもしれませんが、徹底するためだけです):

  1. PDPはJavaアプリに組み込まれているため、最も効率的な評価方法であるAuthzForceネイティブJava API(READMEの例)を使用していると思います(または必ずそうします)

  2. またBasePdpEngine、アプリケーションの存続期間を通じて、同じPDP()インスタンスを(再)使用していることも前提としています。スレッドセーフである必要があります。

  3. 複数のリクエストを一度に評価するために、通常の代わりにPDPエンジンのevaluate(List)メソッド(javadoc)を試すことができますevaluate(DecisionRequest)。これは場合によっては高速です。

  4. 「分散環境」とは、Javaアプリの複数のインスタンスが異なる場所にデプロイされている可能性があることを意味します。したがって、複数のPDPがあり、適切なセットアップは、ポリシードキュメントをロードする場所/方法によって異なります:ローカルファイル、リモートデータベース、など。私の最後のコメントを参照してください。Rafael Sistoの回答で述べたように、AuthzForceServerインストールガイドの高可用性セクションにあるいくつかのガイドラインを再利用できます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JavaFX + Spring Boot + Hibernateアプリケーションでの複数の環境のサポート

分類Dev

pyFMIPythonシミュレーション異なる数の出力ポイント

分類Dev

複数のポアソン過程のシミュレーション

分類Dev

追加のシミュレーションポイントを使用した月光でのまれな測定

分類Dev

Linux環境でのメール通知の送信をサポートするソリューションの構造化

分類Dev

Pythonでのポインターのシミュレーション

分類Dev

WindowsでのFlaskアプリケーションの環境変数のエクスポート

分類Dev

rでの複数のシミュレーション

分類Dev

Pythonでの複数のエントリのモンテカルロシミュレーション

分類Dev

Rubyアプリケーション用の複数の環境

分類Dev

Python3アプリケーションのアプリエンジン環境をローカルでシミュレートする方法

分類Dev

Tomcatの負荷分散環境でのJavaアプリケーション間通信

分類Dev

Bluemixの環境間でのAPIConnect開発者ポータルのマイグレーション

分類Dev

複数のGitリポジトリからのVisualStudioソリューション

分類Dev

本番環境でのmongoレプリケーションの設定

分類Dev

pypiリポジトリでのプッシュレプリケーション

分類Dev

シミュレーションで範囲外のリスト

分類Dev

Git:リポジトリへの変更をプレビュー/シミュレーション/元に戻す

分類Dev

RabbitMQの複数のフェデレーションポリシー

分類Dev

RabbitMQの複数のフェデレーションポリシー

分類Dev

VisualStudioソリューションファイルの環境変数

分類Dev

シングルスレッド環境での単一のイベントソースに対するJava Swingの複数のイベントリスナー

分類Dev

Xcodeデバッグ:ロケーションシミュレーション中のウェイポイントのレートの変更

分類Dev

iPhone 8シミュレーターのポイントは何ですか?

分類Dev

GitHubアクション環境変数としてのリポジトリ名?

分類Dev

ボイドシミュレーションでの速度の定義

分類Dev

MySQLでのラグ関数のシミュレーション

分類Dev

さまざまなModelicaシミュレーション環境の違いは何ですか?

分類Dev

Xセッションの開始時に環境変数をエクスポートできません

Related 関連記事

  1. 1

    JavaFX + Spring Boot + Hibernateアプリケーションでの複数の環境のサポート

  2. 2

    pyFMIPythonシミュレーション異なる数の出力ポイント

  3. 3

    複数のポアソン過程のシミュレーション

  4. 4

    追加のシミュレーションポイントを使用した月光でのまれな測定

  5. 5

    Linux環境でのメール通知の送信をサポートするソリューションの構造化

  6. 6

    Pythonでのポインターのシミュレーション

  7. 7

    WindowsでのFlaskアプリケーションの環境変数のエクスポート

  8. 8

    rでの複数のシミュレーション

  9. 9

    Pythonでの複数のエントリのモンテカルロシミュレーション

  10. 10

    Rubyアプリケーション用の複数の環境

  11. 11

    Python3アプリケーションのアプリエンジン環境をローカルでシミュレートする方法

  12. 12

    Tomcatの負荷分散環境でのJavaアプリケーション間通信

  13. 13

    Bluemixの環境間でのAPIConnect開発者ポータルのマイグレーション

  14. 14

    複数のGitリポジトリからのVisualStudioソリューション

  15. 15

    本番環境でのmongoレプリケーションの設定

  16. 16

    pypiリポジトリでのプッシュレプリケーション

  17. 17

    シミュレーションで範囲外のリスト

  18. 18

    Git:リポジトリへの変更をプレビュー/シミュレーション/元に戻す

  19. 19

    RabbitMQの複数のフェデレーションポリシー

  20. 20

    RabbitMQの複数のフェデレーションポリシー

  21. 21

    VisualStudioソリューションファイルの環境変数

  22. 22

    シングルスレッド環境での単一のイベントソースに対するJava Swingの複数のイベントリスナー

  23. 23

    Xcodeデバッグ:ロケーションシミュレーション中のウェイポイントのレートの変更

  24. 24

    iPhone 8シミュレーターのポイントは何ですか?

  25. 25

    GitHubアクション環境変数としてのリポジトリ名?

  26. 26

    ボイドシミュレーションでの速度の定義

  27. 27

    MySQLでのラグ関数のシミュレーション

  28. 28

    さまざまなModelicaシミュレーション環境の違いは何ですか?

  29. 29

    Xセッションの開始時に環境変数をエクスポートできません

ホットタグ

アーカイブ