Next.jsで作っていたAPIをFastifyに移行

公開日時

Next.jsのpages/api以下にシンプルなCRUD APIを作っていたが、Vercelにデプロイするとapiはサーバレスのfunctionになるため、PrismaでDBにアクセスするとToo Many Connectionsエラーが発生してしまった。

そもそもとして、JawsDBの無料プランを使っているため最大コネクションは10と少ない状態ではあるが、APIを2回呼び出すと500エラーが発生してしまい使い物にならない状態になってしまった。

Connection management (Reference) | Prisma Documentation を参考に都度$disconnectを実行するようにしたが結果は変わらず。

APIで複雑なことはやっていないので、API部分だけFastifyに移行することにした。

ドキュメントを読みつつ移行を進めていく。


Related #next.js

Next.js使用時にrecoil-persistのStorageを変更する

クライアント側で実行された場合のみstorageを指定するようにした

Next.jsで環境に応じて特定のページを非表示にする

NODE_ENVでredirectsを出し分けた

Next.jsで動的URLをRewriteする

next.config.jsにrewritesを追加

Next.js + typescriptでpathsのエイリアスがModule not foundになる

next.config.jsに追記する必要があった

Next.js + Algoliaで全文検索UIを実装する

react-instantsearchを利用