画像とPDFファイルを取り込んでから、それぞれで多くの処理を実行し、構築したWebおよびモバイルクライアントにいくつかのサイズ変更されたバリアントを提供する必要があるサービスの最初のバージョンが構築されています。
処理側では、次のことを実行します。
- ウェブとモバイル向けの9つの画像サイズのバリエーション
- 300dpi画像のタイリング(a-laマップタイリング)
- 5つの画像処理と機械学習/タグ付けプロセス
パイプライン全体のテストをシリアルで実行すると、約120枚の画像を処理するのに約18分かかりました。
その時間を大幅に短縮しようとしています。もちろん、さまざまな処理を並行して実行することもあります。依存関係はごくわずかです。たとえば、いくつかの主要なバリアントが生成されるまで、画像処理/機械学習の手順を処理することはできません。
アーキテクチャの観点から、すべての処理をWeb層からオフロードしたいだけでなく、Web/モバイルクライアントに画像を提供する必要もあります。私たちは、物事を並列化するためのopenmpi、hadoop、zeromq、およびストレージ/スケールの問題を解決するためのhdfs、gluster、lusterなどを調査してきました。
セットアップを段階的に改善できるように、参照アーキテクチャ、または一緒にステッチできるツールを探します。