次の機能を備えたスタンドアロンの安らかなイメージ サーバーを開発する予定ですが、まず、オープン ソースの世界に同様のものが既に存在するかどうかを知りたいです (言語は重要ではありません)。
- マスターイメージの安らぎ(クラッド)、例:
/GET/asd983249as
- おそらく一括取得 / LIST
- 画像に直接関連するメタデータ (クリエイティブ コモンズ情報、寸法など) のサポート (ドメインからこれらの画像への参照は含まれません)
- 画像のさまざまな「表現」の安らかな遅延取得。つまり、レンディションが存在しない場合は、要求に応じて作成されます。明らかに元の画像が存在する必要があります。さまざまな操作が許可されています (最初はサイズ変更とトリミング)
- 例:
/GET/asd983249as/100x100
(単純なサイズ変更) - 許可されたディメンションは構成可能であるため、DoS を受けないようにします (いずれにせよそれほど迅速ではありません)。
非機能:
- 合理的なパフォーマンス / スケーラブル / HA (ええ、これは実際には何も言わないことを知っています)
- おそらくメモリ内キャッシュ
Mongo GridFS ルートを検討しており、MongoDb のシャーディングとレプリケーションをほぼ無料で利用できます。おそらく(部分的に)nginx-gridfs(以下を参照)を直接使用してNginxを前に置くと、残りのものと、いくつかの構成で、gridfsがそれを処理できない場合の単純なキャッシングが可能になるはずです(わかりません)
ソース:
nginx-gridfs http://www.coffeepowered.net/2010/02/17/serving-files-out-of-gridfs/
lazy-gets のアイデア (および私が探しているものの単純な実装ですが、積極的に維持されているプロジェクトよりも趣味のように見えました) http://sumitbirla.com/2011/11/how-to-build-a-scalable -caching-resizing-image-server/
近いものですが、最終的な解決策ではありません https://github.com/adamdbradley/foresight.js/wiki/Server-Resizing-Images
すでにこれを行っているものはありますか?