Terracottaオープンソースを使用した経験はありますか?
-
07-07-2019 - |
質問
Terracottaのオープンソース製品を使用した経験はありますか?具体的には、エンタープライズツールなしでテラコッタを使用してクラスターを管理する価値があるかどうか興味がありますか?
過度に簡素化された使用状況の要約:数百万件のレコードを処理し、1日あたり数十万ページビューに拡張する必要がある限られた予算の小さなスタートアップです。
解決
現在、Terracottaエンタープライズツールは、視覚化や管理(クラスターからクライアントを追い出す機能など)に関するオープンソースバージョン以外のいくつかの機能のみを提供しています。これは引き続き分散し、エンタープライズツールは管理や監視などの操作レベルでより多くのオペレーターレベルの機能を誇っていますが、オープンソースツールでもアプリを確実に管理および調整できます。
エンタープライズライセンスでは、サポートや補償など、ツールと同じくらい重要な場合もそうでない場合もあります。
自分で試してみることをお勧めします。 Terracottaを使用した実際のアプリの例をご覧になりたい場合は、リリースされたばかりのこのリファレンスWebアプリをご覧ください:
他のヒント
Terracottaをプロジェクト(センサーノードネットワークシミュレーター)と統合するプロセスを進めています。約3週間前、同僚の一人からテラコッタについて知りました。そして今、私のアプリケーションはTerracottaを使用したグリッドコンピューティングを利用しています。以下に、テラコッタでの私の経験の重要なポイントをまとめました。
- Terracottaサイトには、非常に詳細なドキュメントが含まれています。この記事は、おそらくコンセプトおよびアーキテクチャガイド
- 問題が発生し、ドキュメントに答えが見つからない場合、 Terracottaコミュニティフォーラムは質問をするのに適した場所です。 Terracottaの開発者は定期的にそれをチェックしており、かなり反応が良いようです。
- TerracottaはJVMの下で実行されており、クラスタでアプリケーションを実行するのは構成の問題であると宣伝されていますが、それを行うにはアプリケーションにいくつかの重大な変更を導入する必要があるかもしれません合理的にうまく機能します。例えば。アプリケーションの同期ロジックを完全に書き直す必要がありました。
- Eclipseとの良好な統合。
- 管理コンソールは素晴らしいツールであり、Terracottaの下で適切に動作するようにアプリケーションを微調整するのに大いに役立ちました。考えられるだけのサーバーとクライアントからすべてのパフォーマンスメトリックを収集します。確かにGUI関連の問題がいくつかありますが、誰もそうではありません:-)
- java.util.concurrent。*市民よりも標準のJava同期プリミティブ(同期/待機/通知)を優先します。標準プリミティブは、柔軟性が高く(読み取りまたは書き込みクラスターロック、またはまったくロックしないように構成できる)、管理コンソールで追跡しやすいことがわかりました(ロックされているオブジェクトのクラス名が表示されます次に、例えばReentrantLockなど)。
役立つこと。
インメモリ分散キャッシュソリューションであるJBossCache / PojoCacheをご覧ください。違いは、Terracottaがclassloading / jvmレベルで動作するため、単純なAPIを使用してオブジェクトをキャッシュの「クラスター」全体に伝播することです。
(実際には独自のJVMはありませんが、ロード時にクラスを変更して「クラスター化可能」にする)
JBossCacheで私たちの会社は運が良かったので、チェックアウトすることをお勧めします。
更新
OPメッセージに表示されるものは"まあ、本当に必要なのかわかりません(したがって詳細な要件がないため)それは素晴らしい!"
このようなアーキテクチャのアプローチでは、飛ぶことはありません。テラコッタの成功事例がそれを変えることはありません。
OSSは、周辺のコミュニティが商用サポートを置き換えることができる場合に有益です。男が生産に問題があると仮定します。コミュニティは助けられません-このようなあいまいな製品には小さすぎます。サーバーがダウンし、ビジネスが危険にさらされています。分かりますか?事前に商用ライセンスが必要です。お金がない?さて、あなたはビジネスではありませんであり、おそらく誰にもなりません(誰もそれに投資したくない場合)。
あなたの空想を中断して申し訳ありません。
私見:
Terracottaはクラスタリングソリューションです。大規模なエンタープライズグレードのアプリケーションには、クラスタリングが必要です。大きなアプリケーションは大きな予算を意味します。大きな予算は、Terracottaからの商用ライセンスを購入できることを意味します。
別の言い方をすれば、購入する予算がない場合、おそらくプロジェクトにとって有益ではありません。