14

次の機能を備えたスタンドアロンの安らかなイメージ サーバーを開発する予定ですが、まず、オープン ソースの世界に同様のものが既に存在するかどうかを知りたいです (言語は重要ではありません)。

  • マスターイメージの安らぎ(クラッド)、例:/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

すでにこれを行っているものはありますか?

4

2 に答える 2

0

プロジェクトのオプションを探していたところ、以下の 2 つを見つけました。それらは要件に完全に一致するわけではありませんが、かなり成熟しているように見えます。しかし、私はまだ彼らとの経験がありません。

  1. https://imageresizing.net/ Essential Edition はオープンソースです。より高度なソリューションはそうではありません。
  2. http://thumborize.me/ (関連付けられているgithubを含む) には、顔検出、新しいコーデック、スマート クロッピングなどの多くの興味深い機能があります。
于 2020-06-19T07:39:37.993 に答える