MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Vercel crea una nuova connessione DB per ogni richiesta

Riepilogo

Le funzioni serverless su Vercel funzionano come un processo autonomo. Sebbene sia possibile memorizzare nella cache la connessione "per funzione", non è una buona idea distribuire una libreria pronta per il server in un ambiente serverless. Ecco alcune domande a cui devi rispondere:

  • Il tuo framework o libreria DB sta memorizzando nella cache la connessione?
  • Il tuo codice è pronto per Serverless?
  • Per quale tipo di carico di lavoro è ottimizzato Vercel?

Ulteriore contesto

Vercel è un'eccellente piattaforma per il tuo frontend che utilizzerebbe le funzioni serverless come aiutanti. La CDN disponibile insieme al flusso di lavoro rende il processo di distribuzione molto rapido e ti consente di muoverti più velocemente. La distribuzione di un'API completa o di un carico di lavoro serverful non sarà mai una buona idea. Supponiamo di dover usare MySQL con Vercel. Invece di mysql , dovresti usare mysql-serverless , che è ottimizzato per le primitive serverless. Anche con questo in mente, sarà probabilmente più economico utilizzare solo una macchina virtuale/contenitore per l'API a seconda del livello di richieste che ti aspetti. Pertanto, ci ritroveremmo con la seguente soluzione ideale:

Frontend (Vercel - Serverless) --> Backend (Serverful - External provider) --> DB

Disclaimer:al momento lavoro per Vercel.