3 ms·
You immediately see there's no load ;)
by groestl 2y ago
You immediately see there's no load ;)
- Animats 2y agoThat's not a joke. Go is a fast compiled language, and Go programs are self-contained executables. So you don't need containers. FCGI is an orchestration system, like Kubernetes. It's single-machine, but will start up and shut down processes as the load changes. A crashed process will be restarted. Host the web pages on a static page server, and use client-side Javascript for any dynamic stuff. Good for maybe 20-100 transactions per second. The database will be the bottleneck. Boring, but useful.
- groestl 2y ago> 20-100 transactions per second In all seriousness, that is "no load". I know it fits 99% of all startups, and many larger companies too, but that's kind of the point. I wouldn't do it differently though, I think it's a perfectly fine architecture :)
- t-writescode 2y ago> > 20-100 transactions per second > "no load" Ruby on Rails applications with even a modest amount of ActiveRecord work would like a word xD
- sethammons 2y agoCouple thousand per second is expected on my Go services (per node) before any optimizations.
- marcosdumay 2y agoIf so, you may want to rent more than one server and set multiple web servers with a centralized database. Like people did in the 90s! But that will cost more than $10/month.
- raxxorraxor 2y agoDepends on the service. For b2b that is already a lot.
- marcosdumay 2y agoThat's huge supermarket inventory system top load. Or rather, the lower end of that is huge supermarket inventory system top load.
- yen223 2y agoWhen you know how much can be done on a $10 vpc, you'll realise how much compute in a kubernetes cluster is only used to support the cluster
- groestl 2y agoDon't worry, I host serious stuff on a single machine, and am quite happy with it ;) What set me off a bit was the shared hosting. You don't want noisy neighbors, usually. That's worth a few bucks.
- PhilipRoman 2y agoAgreed, VPS providers often blind users with super low prices, I didn't even notice this until I started hosting game servers where realtime performance is important. Always make sure that "iostat -c 1" column "%steal" is zero. Luckily there are providers which give guaranteed performance.
- t-writescode 2y agoHonestly, you'd be surprised just how much load a single server Go application can handle. I've not seen it with Go because I haven't worked with Go in a production capacity; but I've seen C# handle thousands of RPS per node.
- sethammons 2y agoProduction Go experience. My go to estimate is per node 1-5k http rps with a couple db calls, maybe a network call to an internal service or three, and serializing json. I use that before building for server count and cost estimates. Some services exceed that, never saw a server we made that couldn't do 1k rps. Friends don't let friends use ruby|python|perl|php|...