Skip to content

Commit 611e402

Browse files
authored
Update README.md with Arch Diagram
1 parent bb49e30 commit 611e402

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed

README.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,80 @@ We need Databases that are fault-tolerant, highly available and that can scale a
6262
## Status
6363
This library is still being worked on, so it does NOT support all of redis' commands -- that being said, the plan is to get it to full compliance with Redis' single server commands, ASAP. Redis Cluster is something I do not believe in - since I do not understand the Availability Guarantees it provides.
6464

65+
## Module Architecture
66+
67+
```
68+
+-------------------+
69+
| Client App |
70+
+---------+---------+
71+
|
72+
| TCP/Redis Protocol
73+
v
74+
+----------------------------------------------------------------+
75+
| Remixdb Application |
76+
| +-------------------+ +-------------------+ |
77+
| | TCP Server |<---------->| Redis Parser | |
78+
| +---------+---------+ +---------+---------+ |
79+
| | | |
80+
| | Parsed Commands | |
81+
| v v |
82+
| +-----------------------------------------------+ |
83+
| | Command Router | |
84+
| +----------------------+-----------------------+ |
85+
| | | | | |
86+
| v v v v |
87+
| +-----------+ +-----------+ +-----------+ +-----------+ |
88+
| | String | | Hash | | List | | Set | |
89+
| | Module | | Module | | Module | | Module | |
90+
| +-----+-----+ +-----+-----+ +-----+-----+ +-----+-----+ |
91+
| | | | | |
92+
| | | | | |
93+
| v v v v |
94+
| +-----------------------------------------------+ |
95+
| | Data Storage Layer | |
96+
| | (GenServer state and/or ETS tables) | |
97+
| +-----------------------------------------------+ |
98+
+----------------------------------------------------------------+
99+
^
100+
| Supervised by
101+
v
102+
+---------------------------------------------------------------+
103+
| Supervision Tree |
104+
| |
105+
| +------------------------+ |
106+
| | Remixdb Supervisor | |
107+
| +-----------+------------+ |
108+
| | |
109+
| +------+-----+ |
110+
| | | |
111+
| v v |
112+
| +----------+ +---------------------------+ |
113+
| | TcpServer| | Datastructures Supervisor | |
114+
| | | +-----------+---------------+ |
115+
| +----------+ | |
116+
| +--------+--------+ |
117+
| | | | |
118+
| v v v |
119+
| +--------+ +--------+ +----------+ |
120+
| | String | | Hash | | List/Set | |
121+
| +--------+ +--------+ +----------+ |
122+
+---------------------------------------------------------------+
123+
|
124+
| Uses
125+
v
126+
+---------------------------------------------------------------+
127+
| Utility Modules |
128+
| +----------+ +----------+ +---------------------+ |
129+
| | Renamer | | Counter | | Other Utilities | |
130+
| +----------+ +----------+ +---------------------+ |
131+
+---------------------------------------------------------------+
132+
133+
+---------------------------------------------------------------+
134+
| Benchmark Suite |
135+
| (Independent tools for measuring performance) |
136+
+---------------------------------------------------------------+
137+
```
138+
65139

66140
## Clustering and Master Read Replica setup with Automatic Failover
67141
This will happen, soon!

0 commit comments

Comments
 (0)