2016-09-05 4 views
0

分散実行型サービス(Distributed Executor Serviceを使用)を認識しています。例えば、herehereですが、このメカニズムは呼び出し元をシリアル化して実行先に転送するというものです単純なケースでは、多くの場合、すべてのものを検索することはできません。たとえば、呼び出し可能なクラスのクラスから参照すると、タスクが完了します。この場合、すべてが転送されます(多くの場合、可能であれば、目的を殺すことによって、全体を輸送するには膨大な時間がかかります)、代わりに必要とされるのは、クラスがターゲットシステムに存在し、単にそれを呼び出すことです(ハーフループが動作する方法)。 わかりませんそのような実行モデルが無限に存在すれば?Infinispan分散型タスク実行

+0

Infinispanチームで問題を作成するhttps://issues.jboss.org/browse/ISPN-7000 – craftsmannadeem

答えて

1

これらの呼び出し可能ファイルに外部化機能を提供し、呼び出し可能ファイルと外部ファイルの両方がすべてのノード(必要)に設定されて配備されている場合、これらのクラスを出荷する必要はありません。外部化を定義する方法の詳細は、hereを参照してください。

+0

シリアライゼーション/外部化を避けたいです。シンプルな世界のような単純なケースの場合、リアルタイムでは問題ありません実現可能ではない/実用的である/推薦されていない...例えば、あなたの呼び出し可能なものがビジネス層と話していて、それがDAO層/外部層と話をしている。/infinispanを幸せにするためにこれらすべてのクラスを外部化することは、大きな問題ではありません。パラメータ/データを単に/外部化することはうまくいくでしょう。 – craftsmannadeem

+0

ビジネスレイヤオブジェクトをワイヤで送信することは、常に悪い考えです。代わりに、あなたのタスクに必要なオブジェクトの最小限のセットを抽出し(重要なリファクタリングがこのステップで行われる可能性があります)、そのタスクをExternalizableにして、分散実行に使用する必要があります。あなたのケースでは不可能な場合は、計算をステップに分割することも考えられます(キューに接続されている可能性もあります)。そのような場合は、イベント駆動アーキテクチャ(Reactive stuffなどの新しい概念がいくつかあります)に関する情報を参照してください。 – altanis

+0

Btw、Hadoopとの連携が好きな人はInfinispanをHadoopのバックエンドとして使用して、データをメモリに保存することができます。 [ここ](https://github.com/infinispan/infinispan-hadoop)を参照してください。いくつかの例はこちら[https://github.com/infinispan/infinispan-hadoop/tree/master/samples/]にあります。 。また、Hadoopとの統合に関するいくつかのブログ記事を公開しました。[here](http://blog.infinispan.org/search/label/hadoop)をチェックしてください。 –

関連する問題