diff options
| author | MatthieuCoder <matthieu@matthieu-dev.xyz> | 2023-01-14 17:45:48 +0400 |
|---|---|---|
| committer | MatthieuCoder <matthieu@matthieu-dev.xyz> | 2023-01-14 17:45:48 +0400 |
| commit | 3f342846149c0b1f8d1ac1f0b857a9d9fdf2034b (patch) | |
| tree | 5ad087639ade0998ec0af0e0532c71a59b92993a /docs/architecture.md | |
| parent | ee58b30800527306ab024da926121c085a0978fa (diff) | |
clippy, tests and a bit of docs
Diffstat (limited to 'docs/architecture.md')
| -rw-r--r-- | docs/architecture.md | 42 |
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 + |
