From 9afc37eaed75ad4cf60302be8494303bb4db3fcc Mon Sep 17 00:00:00 2001 From: Xe Iaso Date: Thu, 23 Feb 2023 16:20:57 -0500 Subject: bring back portable services Signed-off-by: Xe Iaso --- cmd/xedn/doc/README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 cmd/xedn/doc/README.md (limited to 'cmd/xedn/doc') diff --git a/cmd/xedn/doc/README.md b/cmd/xedn/doc/README.md new file mode 100644 index 0000000..0524702 --- /dev/null +++ b/cmd/xedn/doc/README.md @@ -0,0 +1,28 @@ +# XeDN + +Xe's CDN replacement service + +## Goal + +XeDN is a CDN replacement service. It is a tool that enables you to +serve files from a central storage pool (such as Backblaze B2) in a +way that caches all those files locally. This lets you put several +instances of XeDN in different datacentres globally and then each +instance will act as a local cache. This strategy lets you decrease +observable latency for users. + +The goal of this service is to replace Cloudflare for my own uses. + +## Design + +At a high level, XeDN is a caching HTTP proxy. It caches files locally +using [BoltDB](https://github.com/etcd-io/bbolt) and serves from that +cache whenever possible. XeDN pulls files from its source (currently +over HTTP, but this can be changed in the future) and aggressively +caches them in the database. When each file is cached, it has a +default lifetime of one week. This lifetime is extended every time a +file is requested, hopefully making sure that each file that is +commonly used is never requested from backend servers. This does make +genuinely updating content hard, so users of XeDN are encouraged to +assume that the backend is an _append-only_ store. + -- cgit v1.2.3