In navolging van Professionele vs Hobbymatige topics in Devschuur dacht ik om maar eens een topic te starten over de architectuur van het sturen van berichten van user A naar user B via een webapplicatie. Neem bijvoorbeeld het Direct Messaging systeem van React als voorbeeld.
Het hoeft niet bijzonder veel te kunnen, maar je zou kunnen denken aan het volgende:
Aan de andere kant: je wil berichten en reacties wel binnen een thread houden en niet elk bericht als een los berichtje zien.
Nog een vraag: hoe spoor je eigen berichten op (en hoeveel daarvan ongelezen zijn).
Ik vraag me het af omdat ik een systeem wil bouwen waar het sturen van berichten cruciaal zal zijn. Met een hoop gebruikers en nog veel meer berichten, is het niet te doen om later het systeem om te gooien. Is wat hierboven is geschetst een normale gang van zaken, of zijn er ervaringen met een andere architectuur welke veel flexibeler/performanter/whatever is?
Het hoeft niet bijzonder veel te kunnen, maar je zou kunnen denken aan het volgende:
- Een gebruiker A stuurt een bericht (onderwerp + tekst) naar gebruiker B
- B ziet "1 ongelezen bericht" en kan deze lezen. Markering van ongelezen > gelezen
- B antwoord op bericht (slechts tekst) richting A
- A ziet "1 ongelezen bericht" en kan deze lezen. Markering van ongelezen > gelezen
- ...
Aan de andere kant: je wil berichten en reacties wel binnen een thread houden en niet elk bericht als een los berichtje zien.
Nog een vraag: hoe spoor je eigen berichten op (en hoeveel daarvan ongelezen zijn).
SQL:
1
| SELECT COUNT(m.id) FROM messages m WHERE m.to = [userId] AND m.read = false |
Ik vraag me het af omdat ik een systeem wil bouwen waar het sturen van berichten cruciaal zal zijn. Met een hoop gebruikers en nog veel meer berichten, is het niet te doen om later het systeem om te gooien. Is wat hierboven is geschetst een normale gang van zaken, of zijn er ervaringen met een andere architectuur welke veel flexibeler/performanter/whatever is?