Discorso multiplo su un singolo host Redis

Un’impostazione che utilizzo prevede l’esecuzione di più container Discourse dietro un proxy inverso su un singolo server. Per un po’ di tempo, ho utilizzato

DISCOURSE_REDIS_DB: x

per consentire a più server Discourse di utilizzare un singolo server Redis. In gran parte perché sono pigro e non mi piace tenere un registro accurato di quale server utilizza quale numero, ho voluto aumentare il numero di DB Redis in Redis a più di 16. Quando ho chiesto informazioni a riguardo, la risposta che ho ricevuto suggeriva che è una pessima idea utilizzare redis_db per avere più siti su un singolo Redis. E da allora ho riconfigurato le cose per avviare un Redis separato per ogni sito (il che li rende più facili da gestire poiché posso usare un nome per loro).

Ma questo sembra un po’ sciocco. E ora che guardo, vedo questo:

Quindi, mi stavo chiedendo se va bene usare redis_db o se ogni Discourse ha bisogno del proprio Redis.

1 Mi Piace

Ogni Discourse necessita del proprio server Redis completamente separato perché message-bus utilizza Redis Pub/Sub, che è condiviso tra tutti i database su un server Redis.

Se esegui Discourse in una configurazione multisito, aggiungiamo automaticamente un prefisso specifico del sito a tutte le chiavi e ai canali pub/sub. Lo stesso prefisso non è disponibile per le installazioni standard “a sito singolo”.

4 Mi Piace

Perfettamente comprensibile. Grazie mille per la tua chiara spiegazione!

2 Mi Piace

Sembra una grave svista architettonica. Saresti in grado di rendere possibile il prefisso delle chiavi Redis in un’installazione a sito singolo in modo da poter avere più installazioni di Discourse su un unico host Redis? A meno che non stia fraintendendo qualcosa, questa è una soluzione molto semplice che ridurrebbe notevolmente la complessità e l’overhead per coloro che devono eseguire più di un Discourse.

1 Mi Piace