私は最近、Hadoopをいじってみましたが、MapReduce ジョブのスケジューリング、管理、およびレポート機能に感銘を受けました。これにより、新しいジョブの配布と実行が非常にシームレスになり、開発者はジョブの実装に集中できるようになります。
MapReduce の問題として簡単に表現できないジョブの分散実行用の Java ドメインが存在するかどうか疑問に思っています。例えば:
タスクの調整と同期が必要なジョブ。たとえば、タスクの順次実行が含まれる場合がありますが、いくつかのタスクを同時に実行することは可能です。
.-- B --. .--A --| |--. | '-- C --' | Start --| |-- Done | | '--D -------------'
分散したいが、削減する出力を提供しない CPU 集中型のタスク (画像の変換/サイズ変更など)。
そのような分散コンピューティング環境を提供するJavaフレームワーク/プラットフォームはありますか? それとも、この種のことは Hadoop を使用して許容/達成可能ですか? もしそうなら、これらの種類の仕事のためのパターン/ガイドラインはありますか?