summaryrefslogtreecommitdiff
path: root/docs/architecture.md
diff options
context:
space:
mode:
authorMatthieuCoder <matthieu@matthieu-dev.xyz>2023-01-14 17:45:48 +0400
committerMatthieuCoder <matthieu@matthieu-dev.xyz>2023-01-14 17:45:48 +0400
commit3f342846149c0b1f8d1ac1f0b857a9d9fdf2034b (patch)
tree5ad087639ade0998ec0af0e0532c71a59b92993a /docs/architecture.md
parentee58b30800527306ab024da926121c085a0978fa (diff)
clippy, tests and a bit of docs
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
+