Update architecture to include database info.

This commit is contained in:
Kavin 2023-08-04 20:53:11 +01:00
parent cfce6c09f3
commit c41ad4f78c
No known key found for this signature in database
GPG Key ID: 6E4598CA5C92C41F
1 changed files with 6 additions and 1 deletions

View File

@ -23,16 +23,21 @@ Piped has 3 components:
- Uses Java 17
- Uses a JNI wrapper around [Reqwest](https://github.com/seanmonstar/reqwest), a Rust HTTP client.
- Uses ActiveJ to achieve maximum performance. Which is [really fast](https://web-frameworks-benchmark.netlify.app/result)
- Supports OpenJ9
- Supports OpenJ9, and Hotspot
- Each running instance should configure their own proxy, thus allowing multi-gigabit content delivery.
- Uses ~70-130 MB of ram. (on OpenJ9)
## Database
- We currently support PostgreSQL, CockroachDB and YugabyteDB for high availability deployments.
# Proxy
- Uses Rust.
- Has HTTP/2 support.
- Uses [actix-web](https://github.com/actix/actix-web) and [reqwest](https://github.com/seanmonstar/reqwest) for maximum performance.
- Low memory footprint and high throughput.
- Converts `jpeg` images to `webp` on the fly to reduce bandwidth usage.
# Server-Side Caching