Amministro una community molto attiva che conta in media 180.000 utenti al giorno e non posso più scalare verticalmente. Dobbiamo scalare orizzontalmente. Prima che venga menzionato, non mi interessa particolarmente cosa è “ufficialmente supportato”, mi interessa solo ciò che è tecnologicamente possibile.
Al momento abbiamo un’istanza Ubuntu che esegue Discourse in Docker con le istruzioni di installazione ufficiali, viene utilizzato lo storage S3 così come una CDN che lo serve.
Ho intenzione di migrare a un NixOS flake che sto scrivendo. Dalle indagini approfondite sull’utilizzo delle risorse, noto che la CPU è principalmente limitata da Postgres e dai worker di Unicorn (abbiamo ottimizzato questo per essere il più leggero possibile sulla CPU mantenendo le prestazioni. Ci sono 16 worker).
Anche la MEM è principalmente limitata da Postgres e Redis.
Se possibile, voglio isolare tutto questo in 3 server:
Frontend Discourse (con Unicorn)
Server Redis
Server Postgres
Ho già creato con successo un server Discourse con Postgres su un altro server, ma non sono sicuro se posso spostare Redis altrove e se ciò avrebbe senso in termini di prestazioni.
Qualcun altro esegue attualmente Discourse in questo modo?