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.