-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdiagram
More file actions
40 lines (34 loc) · 952 Bytes
/
diagram
File metadata and controls
40 lines (34 loc) · 952 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
---
config:
theme: neo
---
graph TB
Client[Client Application]
API[API Server]
WriterQueue[Writer Queue]
Writer[Writer Worker]
TMQueue[Transport Manager Queue]
TM[Transport Manager Worker]
WSQueue[WebSocket Queue]
WS[WebSocket Worker]
DB[(Database<br/>Elasticsearch)]
Redis[(Redis<br/>Subscriptions & Devices)]
Client -->|REST API| API
Client <-.->|WebSocket Connection| WS
API -->|Create/Update/Delete| WriterQueue
WriterQueue --> Writer
Writer -->|Persist Data| DB
Writer -->|Notify Change| TMQueue
TMQueue --> TM
TM -->|Check Subscriptions| Redis
TM -->|Route Notification| WSQueue
WSQueue --> WS
WS -->|Push Update| Client
API <-->|Read/Write| DB
API <-->|Manage Subscriptions| Redis
style API fill:#e1f5ff
style Writer fill:#fff4e1
style TM fill:#ffe1f5
style WS fill:#e1ffe1
style DB fill:#f0f0f0
style Redis fill:#f0f0f0