summaryrefslogtreecommitdiff
path: root/docs/architecture.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/architecture.md')
-rw-r--r--docs/architecture.md42
1 files changed, 42 insertions, 0 deletions
diff --git a/docs/architecture.md b/docs/architecture.md
new file mode 100644
index 0000000..b30f98f
--- /dev/null
+++ b/docs/architecture.md
@@ -0,0 +1,42 @@
+# Nova architecture
+
+The nova architecture is composed of multiple components. Each of them is horizontally scale-able.
+
+```
+ ┌──────────────────┐
+ │ │
+ ┌─────────────┤ Discord API ├──────────────┐
+ │ │ │ │
+ │ └────────┬─────────┘ │
+ │ │ │
+ │ │ │
+ │ │ │
+ ┌─────────┴────────┐ ┌────────┴─────────┐ ┌─────────┴────────┐
+ │ │ │ │ │ │
+ │ Rest Proxy │ │ Gateway client │ │ Webhook Server │
+ │ │ │ │ │ │
+ └─────────┬──┬─────┘ └────────┬─────────┘ └─────────┬────────┘
+ │ │ │ │
+ │ │ │ │
+ │ │ │ │
+ │ │ │ │
+ │ │ │ │
+ │ │ │ │
+ │ └───────┐ │ │
+┌────────────────┐ ┌────────┴───────┐ │ ┌───────┴────────┐ │
+│ │ │ │ │ │ ├───────────────┘
+│ Redis ├───┤ Ratelimit │ │ │ Nats broker │
+│ │ │ │ │ │ ├──────────────────┐
+└────────────────┘ └────────────────┘ │ └───────┬────────┘ │
+ │ │ │
+ │ │ │
+ │ ┌───────┴────────┐ ┌──────┴─────┐
+ │ │ │ │ │
+ │ │ Cache manager ├───────────┤ User │
+ │ │ │ │ │
+ │ └────────────────┘ └──────┬─────┘
+ └───────────────────────────────────────┘
+```
+
+## Rest Proxy
+