開発Blog

intra-mart Advent Calendar 2013 第19日:iAPでキャッシュしている所は何処だ!?

投稿日:

この記事は、intra-mart Advent Calendar 2013 第19日の記事です。

AdventCalendarの新機軸!?=我がチーム担当機能の宣伝の一環「認可機構(im-authz)の紹介シリーズ」は、ここぞとばかり まだまだ続きますよー。(聞こえてますかー、北陸の貴方〜)

今回は、パフォーマンス向上に欠かせないキャッシュについて。
どこでどのような情報がキャッシュされているのかをご紹介いたします。

intra-mart Accel Platformでは、新たに搭載された認可機構(im-authz)によりきめ細かなアクセス制御が可能になりました。
im-authz は、画面やデータ、各サービスにおける権限チェックを統括して行うため、あらゆる機能から使用される機能です。
しかし、認可の判断結果が確定するまでには多くの処理があり、各処理においてファイルやデータベースへのアクセスが発生します。

例えば、intra-mart Accel Platform にログインした後に表示されるグローバルナビや、各機能へのリンクを表示するサイトマップでは、アクセス権限のあるリンクのみを表示しているため、各リンクごとに認可の判断処理が行われます。

ここでは、メニューを例として、認可が行われるまでの処理の流れを紹介します。

intra-mart Accel Platformでは、アクセス制御の判断を高速化するために、大きく以下の4つについてキャッシュしています。

  1. ルーティング設定のキャッシュ

    • メニューアイテムに登録されている「URL+引数」を「リソースURI」「アクション」に変換するマッピングをキャッシュします。
  2. リソースグループ設定のキャッシュ

    • 「リソースURI」を「認可リソースグループ」に変換するマッピングをキャッシュします。
  3. リソース閉塞状態のキャッシュ

    • 「認可リソースグループ」1件あたりの閉塞状態をキャッシュします。
  4. ポリシー設定のキャッシュ

    • 「認可リソースグループ」「認可サブジェクトグループ」「アクション」から取得した「ポリシー」の状態をキャッシュします。

このようにして、intra-mart Accel Platformでは、各処理のうちデータの更新頻度が低く、参照頻度が高いものについて、キャッシュを利用して高速化しています。

認可に関するキャッシュの詳細は、認可仕様書 の 認可のキャッシュ設定 をご参照ください。

なお、上述の2, 4 は、intra-mart Accel Platform をインストールした直後の状態では、画面・処理 (service) のリソースタイプのみキャッシュが行われます。他のリソースタイプでキャッシュを行う場合は、別途設定が必要です。
リソースタイプごとのキャッシュ設定については、「設定ファイルリファレンス」の「 リソースタイプ拡張設定 」および「 認可ポリシーキャッシュ対象設定 」を参照してください。

その他、 intra-mart Accel Platform上でのキャッシュに関する情報は以下をご参照ください。

これら資料には、キャッシュするオブジェクトの単位 や キャッシュサイズを見積もるための計算式も記載しております。
実際に運用されるシステムのデータ容量やアクセス頻度・傾向を元に、適切なサイジングを行っていただければと思います。

-開発Blog

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

intra-mart WebPlatform/AppFramework Ver7.2について その5

今回で、iWP Ver7.2の紹介は、最終回です。 ■開発系 ドラッグ&ドロップによるファイルアップロード用タグ intra-mart WebPlatform/AppFramework Ver …

no image

iWP7.2.4で追加されたファイルダウンロード用API

iWP7.2.4において、SAStrutsフレームワークで利用できるファイルダウンロード用のAPIを追加しました。 イメージとしてはスクリプト開発モデルの Module.dowonload. …

no image

[IM-Workflow Version 7.2 Patch01] をリリースしました。

2010年7月30日に、[IM-Workflow Version 7.2 Patch01] をリリースしました。 通常、パッチリリースは不具合等の修正を目的としています。 そのため、パッチで …

no image

プロダクトを成長させる生成系 AI のユースケースを考えるワークショップ実施レポート

こんにちは、開発本部 チーフテクニカルリードの榎本です。 先日開催しました「intra-mart Live 2023」はご参加頂けましたでしょうか?基調講演では、intra-mart Accel Pl …

no image

intra-mart WebPlatform/AppFramework Ver7.2について その2

こんにちは、開発本部の大西です。 すみません、お待たせしました。 今回から、intra-mart WebPlatform/AppFramework Ver7.2での追加された機能紹介を行います。 まず …