Configurazione Cloudflare e altre attività post-migrazione

Ciao, ho lavorato con altre persone per completare una migrazione ad hoc dal nostro vecchio vbulletin3 a discourse. Ora è il momento di iniziare a pensare ad altri aspetti per la migrazione, uno dei quali è il fatto che abbiamo un account cloudflare che serve il nostro forum.

Ci piacerebbe mantenerlo, se possibile, poiché il nostro forum ha tonnellate di lurker (e circa 1000 utenti attivi).

L’unico thread che ho trovato qui che ha qualche informazione risale al 2015, quindi chiedo se ci sia una documentazione “ufficiale” che potrei aver perso e che specifichi come configurare correttamente cloudflare con discourse.

Secondariamente, vorrei sapere se esiste un processo da seguire per:

  • far sì che discourse aggiorni le statistiche post migrazione
  • far sì che l’indicizzazione della ricerca di discourse si “aggiorni” post migrazione

Grazie in anticipo :slight_smile:

Gestisce come? È più facile usare la modalità DNS. Se vuoi dedicare un po’ di tempo in più per un beneficio molto scarso, ci sono alcuni argomenti a riguardo. Per lo più, disabiliti le ottimizzazioni che rompono Discourse. Se quello che vuoi è alleggerire il carico del tuo server, allora una vera CDN come bunny.net è la strada da percorrere.

Penso che le statistiche e la ricerca dovrebbero funzionare.

Potrebbe essere un po’ miope implicare che Cloudflare non sia una “vera CDN”? Perché lo è (e anche di più). Forse intendevi una CDN “tradizionale”?

Configurare una CDN tradizionale richiederà molto più tempo e ti darà circa lo stesso beneficio.

1 Mi Piace

Giusto!

E Cloudflare potrebbe essere più economico, dato che la versione gratuita è probabilmente sufficiente per molte persone. Sembra che ci sia sempre un argomento attivo in cui qualcuno ha danneggiato il proprio sito con Cloudflare, e il modo più semplice per farlo funzionare sembra essere quello di disattivare tutte le ottimizzazioni in modo che possa solo aumentare la latenza.

Se dovessi creare un argomento che descrive come configurare Cloudflare in modo che fornisca gli stessi benefici di una CDN tradizionale, potrebbe essere molto utile. Forse è semplice come disabilitare il rocket loader, ma sembra che esattamente come configurarlo potrebbe essere un obiettivo in movimento (poiché cambiano e migliorano il loro prodotto).

Mi dispiace, non voglio creare una discussione su quale CDN sia il migliore, ecc.
Non ho ancora raccolto ulteriori informazioni, ma per quanto ne so, il forum utilizza attualmente un piano a pagamento (quindi non l’opzione gratuita, immagino), ma anche così, è irrilevante.
Domanda semplice :slight_smile: → Cosa devo fare per configurare Cloudflare in modo che non disturbi Discourse?
Dopodiché, sarò più che felice di capire se è qualcosa di veramente necessario o meno (cioè, benefici, ecc.) :slight_smile:
Inoltre, se qualcuno può darmi un link o qualcosa riguardo alle altre due domande minori, sarebbe fantastico :heart:
Userò la prossima settimana per eseguire alcuni test in un ambiente di staging, quindi nulla è scolpito nella pietra!

Se sei ospitato da discourse.org, o da chiunque altro, peraltro. Dovresti verificare con loro prima di fare qualsiasi cosa con cloudflare. In genere è sufficiente creare un CNAME DNS che punti ai loro server. Discourse.org ha già delle CDN in atto, quindi non devi preoccuparti.

Grazie @pfaffman, è self-hosted. Come ho detto, è utilizzato per l’attuale forum vbulletin che andrà semplicemente offline e sarà sostituito da discourse che risponderà dallo stesso nome di dominio.

1 Mi Piace

Dipende da quale ruolo (se presente) vuoi che Cloudflare svolga.

Se vuoi usare Cloudflare solo come DNS, assicurati che la nuvola arancione sia disabilitata per il record ‘a’ del forum.

Se vuoi effettivamente inviare il traffico di Discourse attraverso la rete di Cloudflare e sei d’accordo con la latenza aggiuntiva che aggiunge, allora come minimo crea una regola di pagina per ‘Disabilitare le prestazioni’ per l’intero dominio del forum. Nessuna delle ottimizzazioni delle prestazioni di Cloudflare è raccomandata e sono note per rompere i siti.

Nota che c’è un template di Cloudflare che deve essere aggiunto al tuo app.yml, passerà CF-Connecting-IP come IP del client, in modo che tu non veda tutti come provenienti da un nodo sulla loro rete.

Se non stai usando l’archiviazione basata su oggetti e esegui con la nuvola arancione abilitata, puoi creare una regola di caching per il tuo percorso degli asset.

2 Mi Piace

Grazie @Stephen.

Cloudflare è stato (beh, lo è ancora per ora) utilizzato per non sovraccaricare il webserver effettivo con le richieste.

Mi stavo chiedendo soprattutto, con la natura degli aggiornamenti in tempo reale di Discourse (presumo websocket? non ho controllato) come ciò potesse essere un problema con qualcosa come la cache di Cloudflare e tutto il resto. Ecco perché mi chiedevo se ci fossero documentazione o se qualcuno avesse qualche consiglio :slight_smile:

Non so nulla ed è per questo che ogni tanto mi sento così perso, ma sembra che tu stia cercando la natura di PHP ma ottieni la natura di un’app JavaScript dove tutto tranne l’ottenimento dei dati effettivi avviene sul dispositivo dell’utente.

Questo è il motivo (e le mie limitate capacità) per cui i miei tentativi di mettere Varnish davanti a Discourse sono falliti miseramente.

Certo, puoi servire asset da una CDN ma questo è tutto.

1 Mi Piace

Bene, Cloudflare non è in grado di fare nulla per ridurre il carico del server dell’applicazione. Essendo un’app javascript a pagina singola, Discourse non ne trae alcun beneficio.

La situazione peggiora, perché mettere Discourse dietro Cloudflare aggiunge hop di rete per ogni richiesta tra l’app nel browser e il server, quindi c’è un leggero aumento dei tempi di risposta.

Stai mantenendo i caricamenti sul server o stai usando S3/un’alternativa simile a S3?

1 Mi Piace

Mi scuso per il ritardo nelle risposte.

Non so abbastanza sul design di Discourse, ma pensando alla presenza di redis che già gestisce una parte della cache delle richieste comuni. Questo spiega il “cloudflare non essendo veramente necessario”.

Quindi, sto capendo bene che c’è poco o nessun beneficio nell’avere Cloudflare davanti a un’installazione di Discourse, e al contrario, rallenterebbe la risposta (salti di rete)?

L’unica ragione per Cloudflare per l’installazione di vbulletin3 era che la quantità di richieste avrebbe sopraffatto il server e (sto solo ipotizzando qui) potrebbe essere a causa del pessimo lavoro nella progettazione del codice di vbulletin3, ad essere onesti, perché la VM che lo ospita ha 4 core, 8 GB di RAM solo per l’applicazione stessa e un’altra VM di specifiche uguali per il DB.

Non c’è modo che qualsiasi applicazione web moderna necessiti di così tanta potenza oggi.

A proposito, c’è qualche riferimento che posso consultare per valutare quanta hardware avrei bisogno per un’installazione di Discourse che in media ha circa 1.000 utenti attivi e circa 5-6.000 lurker?

Questo non è del tutto vero. Soprattutto al primo caricamento, Cloudflare può velocizzare il caricamento delle risorse statiche Javascript. E questa è esattamente una delle cose che Google guarda per decidere se il tuo sito è abbastanza performante da evitare una penalizzazione da parte dei motori di ricerca. I benefici sono maggiori quando hai un forum di tipo marketing che attira utenti dai motori di ricerca, e gli svantaggi sono maggiori quando hai un forum con un gruppo di utenti attivo e di ritorno.

No, perché dipende davvero se quegli utenti sono molto attivi o se visitano una volta al giorno. Ho visto un gruppo di < 50 persone che si scambiavano foto di grandi dimensioni e usavano Discourse come una chat box per l’intera giornata mettere in ginocchio hardware molto performante, mentre ho anche visto un forum con 10.000 persone che venivano a postare qualcosa una volta alla settimana e oltre 30 milioni (!) di lurkers funzionare su un VPS mediocre.

3 Mi Piace

Grazie per l’intuizione e le informazioni @RGJ, immagino che monitorerò e vedremo come andranno le cose. Spero che non richieda un aumento massiccio dei requisiti rispetto al software precedente :crossed_fingers: