Bluesky PBC uses a PDS Entryway for their PDSs, and I would love to adopt the same (especially so that users can have PDS locations closer to where they physically were when they signed up (or however Bluesky does it ๐คจ))!
feat: PDS entryway #2
I do like this!!! but I'd still want it to be simple enough (for me ๐ซฅ) to deploy with Nix or whatever, not K8s.
I'll most likely be making a nixos module for Tranquil once it's a bit further along so it shouldn't be too bad to setup a few PoPs and link them together ;3
It sounds to me like what you're wanting isn't actually an entryway?
For a variety of reasons (many of which, by design, don't apply to Tranquil) PBC has a cohort of PDSs instead of just one. To not confuse users they then have the entryway primarily to give the whole cohort one public facing identity (bsky.social). That's the main point of it. To the point where (as far as I know) there isn't any kind of geo steering or anything on bsky.social. That's not the point of it. Even if they did do that it would have limited gain for a lot of users (at least without quite some work on a heavy handed caching mechanism) due to some of the architectural decissions of the reference implementation.
It sounds like what you're wanting is support for having multiple points of presence to give a snappier experience for users by geo steering them to their closest PoP. Support for that kind of setup is one of the core design goals of Tranquil and is largely already here. Have a couple PoPs each with an instance of Tranquil and a DB involved in a replication scheme with the other PoPs, geo steer between those and you're more or less there. That's the power of using technologies like postgres. You can use traditional methods like sharding, replication and multiple PoPs to distribute out the infra ;3
honestly even if you wanted to be more modern about your infra Tranquil should also be easier to adapt to a serverless setup potentially allowing for an even faster user experience when a network like cloudflare can spin up a serverless function in a data center a few kilometers away from the user
That all sounds great!
Entryway huh? what if we just expand such that the PDS itself is distributed enough to handle this within itself? I myself have the use-case that I go to different countries for work, and I'd like to keep my experience snappy - so just the entryway wouldn't solve that because I'd still be assigned a PDS near my home and then later on it'd be slow if I'm halfway across the world. What do you think?