S3対応のファイルキャッシュもできるimagemagickを使った雑なサムネイル生成サーバ

いくら画像処理が早くても、元々の画像が何MBとなるとS3から引っ張ってくるだけで数秒かかってしまう。

そこで、自分でファイルキャッシュできて画像処理もこなす雑なサムネイル生成サーバーが誕生した!

特徴

外ホスト対応

今回はパス指定が

http://imagemagick_server.local/fill/300/300/example.com/path/to/name

とあらゆるホストから画像をGetで取得している。

よってS3からの画像習得が可能。(雑)

指定した容量までファイルキャッシュできる。

cacheとディレクトリを掘って、その合計サイズが指定値以上になると、 古いファイルから削除するようにしている。(雑)

Cropping等あらゆる画像処理が可能

imagemagickを叩いているだけなので、あらゆる画像処理が思いのままに作成可能。(雑)

並行処理

nginxはあくまでwebサーバであって画像処理サーバではない(ドン)。

画像処理は画像処理サーバにやらせるのがヨサソウだということでイチから書き直した。

しかも今回はgolangのhttpモジュールを採用しているので、CPUをフル活用できる。(ホントか)

始めてgolang書いた

雑。

参考

未熟ゆえ、ほとんどのコードは go-thumberを参考にさせていただきました。クレジットが必要であれば記載いたします。pixiv最高。pixivかわいい。