2011-08-24 14 views
17

AvvertenzeAttuazione Architettura e Design per un sistema di notifica utilizzando node.js socket.io e messaggi in arrivo

  • Non ho lavorato con node.js prima
  • Non ho usato socket.io prima

Sto cercando di implementare un sistema di notifica stile Google Plus, Facebook, StackOverflow. Non sono uno sviluppatore inesperto, e alla fine lo capirò, ma sto solo cercando una spinta nella giusta direzione.

Quello che voglio è che gli utenti che stanno navigando nel mio sito vengano avvisati durante la loro sessione di navigazione quando ricevono un nuovo messaggio.

Attualmente tutti i miei messaggi sono memorizzati in un'unica tabella.

| id | messageSubject | messageBody  | hasRead | readDate | sentDate | sentToUser | sentFromUser | 
    | 1 | HelloWorld  | Nada   | 0  | `null`  | `null  |  1  |  10  | 

Ora, tutti i miei messaggi recuperati dal decine di fonti diverse.

  • un messaggio possono essere inseriti tramite un API da parte di terzi
  • Messaggio sono tirati da Invia Griglia
  • I messaggi possono essere inviati tramite controllori messaggio privato.
  • etc etc

Quello che voglio è quello di avere un modo di essere in grado di avvisare gli utenti quando si riceve un nuovo messaggio. Sono felice di refactoring il mio codice in qualsiasi modo che rende possibile notificare il mio node.js quando ricevo un messaggio di inserimento se questo è quello che devo fare.

Ma non sono abbastanza sicuro da dove cominciare.

Il mio problema è che tutti i miei messaggi sono inseriti in mysql attraverso dozzine di fonti diverse, le mie istruzioni Insert sono in molte aree. Quindi non conosco il modo migliore di procedere.

Grazie.

risposta

13

Provate a guardare la presentazione Why databases suck for messaging che è precisamente sul motivo per cui non dovreste usare database come MySQL per la messaggistica. Messaging e i sistemi di notifica funzionano bene con Event Driven Architecture e mi raccomando di guardare la presentazione di this o per saperne di più su questo argomento da here al fine di ottenere un quadro più ampio sull'ecosistema guidato dagli eventi.

+0

Cosa succede se i collegamenti sono scaduti? – JerryGoyal

Problemi correlati