インフラまわりを担当しております。id:rmanzokuです。 今回は、画像配信サーバをnginxを使ってプチリプレースをしたので その実装方法を紹介します。 課題と対応 Studyplusでは、ユーザーが投稿した画像や教科書の表紙画像を任意のサイズに縮小し配信する機能があります。 この機能はリリース初期から存在し、Javaで実装されていました。 退職済みメンバーの個人リポジトリのライブラリに依存していることもあり、メンテナンスコストが非常に高くなっていました。 (皆さんもそういう経験ありますよね?) リリース初期では、複数の機能を搭載したJavaアプリケーションでしたが現在では 画像管理テーブルからリクエストされたIDに対応する画像ファイルのURLを取得する そのファイルをクエリ文字列で指定した任意のサイズに縮小しユーザーへ返答する という非常にシンプルな機能しか残っていませんでした。
![nginxのX-Accel-Redirectを使った縮小画像配信サーバ - Studyplus Engineering Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/1e9f3b3592a79029f50d7341072a2c7ff1231ff3/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fr%2Frmanzoku%2F20180628%2F20180628105537.png)