Seems like most of the work is done by the `ReverseProxy` package and this code is more about health checking.
Nice to see how simple it is now though. Go is definitely a great choice for low-level networking, and .NET Core has recently become a great option as well.
I’m also a bit confused where is .NET Core coming to the picture. It’s becoming faster and faster but it’s definitely not the best tool for load balancers.
Why not? The latest techempower results show ASP.NET Core saturating a 10GbE network card with 7M+ req/sec while being a full-featured framework, compared to custom C++ web servers. [1]
The memory management, type safety, and high-level productivity make it great for building load balancers and other infrastructure components.
You'd have to know how much memory and cpu was being used vs the other solutions. They're all very close in terms of the key metric, but if Rust is using 50% of the memory, then its not much of a competition. Also, what sort of vm tuning, etc.
True but you can dive into the benchmarks more if you visit the techempower site. They run it on the same standardized hardware and in this .NET is very competitive on cpu and ram.
Nice to see how simple it is now though. Go is definitely a great choice for low-level networking, and .NET Core has recently become a great option as well.