Scalable Chat App

Normal Chat App

graph BT;
A[User 1]
B[User 2]
C[Server<br>socket.io]
A-->C
B-->C
graph BT;
A[User 1]
B[User 2]
D[User 3]
C[Server 1<br>socket.io]
A-->C
B-->C
e[Server 2<br>socket.io]
D-->e
graph BT;
A[User 1]
B[User 2]
D[User 3]
C[Server 1<br>socket.io]
A-->C
B-->C
e[Server 2<br>socket.io]
D-->e
E[Redis]
C-->E
e-->E
graph BT;
A[User 1]
B[User 2]
D[User 3]
C[Server 1<br>socket.io]
A-->C
B-->C
e[Server 2<br>socket.io]
D-->e
E[Redis]
C-->E
e-->E
E-->F(PSQL)
graph BT;
A[User 1]
B[User 2]
D[User 3]
C[Server 1<br>socket.io]
A-->C
B-->C
e[Server 2<br>socket.io]
D-->e
E[Redis]
C-->E
e-->E
E-->G
G(Kafka)
F(PSQL)
G-->F