あらゆるレベルのアプリケーション向けの分散ehca​​cheキャッシュシステム

今日は、Javaプラットフォームで複雑なWebアプリケーションを設計および実装する際に役立つ興味深いプロジェクトについてお話します。 ehcache -Javaアプリケーションおよびサーブレット用のユニバーサル分散キャッシングシステムについて話しています。 これは非常に小さなアプリケーションです(正直なところ、数百Kbのサイズのシステムレベルはまれですが、高品質です)。動的(RAM内)とディスクキャッシュの両方を実装します。 (約ギガバイト)および分散システムで。







ehcacheは、LFR(使用頻度に基づくキャッシュ)やFIFOなど、いくつかの異なるキャッシュ戦略を実装できます。また、個々のオブジェクトのレベルでキャッシュを制御することもできます(キャッシュ内のオブジェクトを無効にするスキームを設定することにより-ライフタイムまたはダウンタイムにより)。 ちなみに、標準サポートがないわけではありません-アプリケーションはキャッシュを操作するための標準プロトコル-JSR107 JCACHEをサポートしています。



もちろん、一度にすべてのアプリケーションを作成することはできないため、ehcacheの開発者は逆の方法で、頭脳のシンプルな拡張性を提供し、一部の機能はサードパーティのコンポーネント(分散キャッシュなど)を介して実装されるため、ehcacheをシステムのコンポーネントとして選択できますその統合は非常にシンプルで、柔軟で、透過的です。



ehcacheのユニークな機能の1つは「永続キャッシュ」です。これにより、仮想Javaマシンを再起動した後でもオブジェクトの状態を保存できます。 さらに、キャッシングシステムはJMX管理コンソールをサポートしているため、標準のプロトコルと機能のみを使用して、アプリケーションの管理システムに透過的に統合できます。 これらは、一見したところ、一見、アプリケーション、高品質とはいえ満足することを目的とした開発、特定のタスク、多くの場合特定の開発者またはアプリケーションを、真にユニバーサルでエンタープライズレベルのアプリケーションですぐに使用できるものと区別する最も重要な機能または標準ではないようです。



分散キャッシングは、TCPプロトコルに基づく組み込み(バージョン1.2以降)RMIメカニズムを使用して、クラスターまたは他の分散回線での動作を保証するために使用できます(はい、UDPではなく、これは特にドキュメントで言及されています)。 ノード間のキャッシュの同期および/または複製は、スキームに応じて個別のキャッシュに対して、非同期または同期の一般的またはローカルにすることができます。 ところで、ほとんどの機能では、キャッシュを使用するアプリケーションに何も必要ありません。すべてが1つのXML構成ファイルに依存しています。



はい、キャッシュはアプリケーション内の独立したユニットであるか、他の一般的なフレームワーク、特にHibernateデータベースを操作するためのレイヤーと相互作用します。



プロジェクトについてさらに詳しく説明し、高負荷およびさまざまなテストの下で十分に文書化、テスト、テストされていることを明確にし、Tomatまたは他のアプリケーションサーバー上のWebアプリケーションで動作し、既知のおよび実績のある有名なプロジェクト:Alfresco(エンタープライズコンテンツ管理システム)、Cocoon Webサイト、Spring、Hibernate。 しかし、開発者のWebサイトにアクセスし、配布キットをダウンロードすることをお勧めします。これはばかげています。今日の時点で、ドキュメントを読むか、ソースコードを見て、考え始めてください。新しい機能を適用してアプリケーションのパフォーマンスを大幅に向上させるには きっと成功するでしょう!




All Articles