開発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 Advent Calendar 2013 第9日:Resin Adminのご紹介

この記事は、intra-mart Advent Calendar 2013 第9日の記事です。 Accel Platformからの標準のWebアプリケーションサーバであるResin 4.0は、運用面の …

no image

e Builder Application Producer v7.2での開発方法について

本日、「intra-mart e Builder Application Producer (以下 Application Producer と略記)」をリリースさせて頂きました。Applicatio …

no image

Accel Platformのつくりかた。

先日開催させていただきました弊社イベントEnterprise Web Solution 2013のテクニカルセッションにおいて、「Accel Platformのつくりかた。」という題名で、i …

no image

e Builder Ver.7.2 プラグイン提供計画

e Builder は、Eclipse のプラグインですが現在eclipseや依存するプラグインで構成された「All in One」で提供しています。 しかし、「プラグインで提供してほしい」という声を …

no image

「印影機能」をさくっと試してみる

今日は IM-Workflow Ver.7.2 のパッチ6で追加された「印影機能」を動かしてみます。 「印影機能」は、以下の準備が必要です。 ワークフローパラメータで「印影の使用可否」を「使用する」に …

まだデータがありません。

RSSRSSRSSRSS