mirror of
https://github.com/TeamPiped/documentation.git
synced 2024-08-14 23:50:09 +00:00
Initial commit.
This commit is contained in:
parent
2538024750
commit
5e6ab2a13b
14 changed files with 182 additions and 1 deletions
41
content/docs/architecture/index.md
Normal file
41
content/docs/architecture/index.md
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
---
|
||||
title: 'Architecture'
|
||||
weight: 4
|
||||
summary: What is Piped architectured?
|
||||
---
|
||||
|
||||
## What is Piped's architecture?
|
||||
|
||||
Piped has 3 components:
|
||||
|
||||
- A frontend in VueJS
|
||||
- A backed in Java which uses NewPipeExtractor
|
||||
- A proxy in Golang
|
||||
|
||||
links: https://github.com/TeamPiped/Piped\, https://github.com/TeamPiped/Piped-Backend and, https://github.com/FireMasterK/http3-ytproxy
|
||||
|
||||
## Frontend
|
||||
- Uses videojs
|
||||
- Uses a router for a single page application.
|
||||
|
||||
## Backend
|
||||
- Uses Java 11
|
||||
- Uses the native HTTP client introduced in Java 9
|
||||
- Uses netty-reactor to acheive maximum performance and a low footprint.
|
||||
- Supports OpenJ9
|
||||
- Each running instance should configure their own proxy, thus allowing multi-gigabit content delivery.
|
||||
- Uses ~70-130 MB of ram. (on OpenJ9)
|
||||
|
||||
# Proxy
|
||||
- Uses Golang
|
||||
- Has HTTP/2 support. (HTTP/3 is unstable in the current library)
|
||||
- Low memory footprint and high throughput.
|
||||
- Can be used to replace the proxy in various other frontends.
|
||||
|
||||
# Server-Side Caching
|
||||
|
||||
Caching is done at a Reverse-Proxy/CDN level to reduce the load to the backend. This also makes it more scalable.
|
||||
|
||||
# LBRY
|
||||
|
||||
LBRY streams are automatically added to stream content via LBRY if the same video is available there.
|
||||
Loading…
Add table
Add a link
Reference in a new issue