I'm running a Nextjs side project on Vercel & Mongo Atlas. My ORM is Mongoose (yep, didn't learn Prisma yet, should come soon). And in some occasions, i've been facing issues with spikes of traffic being hardly handled because i was reaching the maximum number of connections of my MongoDB database.
Here is what I've done so far to prevent this issue : - Mongoose conf :
- Reduce number of requests at page load : each page does max 1 or 2 API requests at navigation so that if 100 people access a page, well, max 200 connections are created - Caching : most of my requests
/api
/api
are cached using the built-in vercel cache which has been very helpful so far but can be off-topic on some pages that display live data - ISR : turned my homepage to ISR so that content is loaded once and for all until revalidation, good win here
Despite all of this, I'm still uncomfortable not having a backup option and will be very curious to know how you have been handling this kind of issue ?