Sōzu HTTP reverse proxy
23 points by krig
23 points by krig
I came across this project which looks like an interesting alternative to nginx or caddy, with zero downtime upgrades and other interesting features.
Was curious if anyone has tried it and what state it’s in. Looks like it’s developed by Clever Cloud so presumably it’s in use there.
looks like an interesting alternative to nginx or caddy, with zero downtime upgrades and other interesting features
Sounds like you're describing HAProxy.
I get that people like to scratch their own itch, but it's hard to ignore that "built in Rust" seems to be the raison d'être for this project.
I think every language should probably have a full featured reverse proxy ready to go. It feels like table stakes.
Why? By definition it's a layer in front of your application - it communicates over either tcp or Unix sockets with your application using (probably) HTTP.
Why does it matter if it's written in the same language as your application?
Because if it is in the same language, it's easier to embed the application in the server. That can be very useful from time to time.
Why would you want to embed a reverse proxy. The whole point is that it's a layer in front of your http-speaking application.
If it's embedded in your application, what is it a proxy of?
It would be odd given that there are GraphQL servers and whatnot in rust.
So obviously it’s possible and would have different characteristics than one written in Go, C++ or Java. So why not have one?
That's true! I should probably go with HAProxy. I've even got some contributions in HAProxy, no idea why I don't think of it as a candidate...
That's exactly what I think when I discover a new tool:
"Awesome! This is what I've been looking for! Does anybody else use it?"
They should say somewhere that the name is (presumably?) from https://en.wiktionary.org/wiki/添水.
I have been interested in this project for a while, but since switching to NixOS I've been all-in on Caddy simply because there is a NixOS service module which makes working with it very easy. Looks like there still isn't an equivalent module for sozu yet, but there is a request on the nixpkgs tracker.