Top all-time · #7697
marcio.io
Personal blog · marcio.ioprogrammingsystems
marcio.io is a personal blog at marcio.io about programming and systems. Since 2015, 10 different Hacker News readers have linked it 16 times, most often “Handling 1M Requests per Minute with Go”. The last post was in 2015, but the archive is still widely read.
Too few sampled comments (8) to say how often HN recommends it.?
Why HN links it
HN commenters link this post on handling a million requests per minute in Go, citing it when discussing goroutine worker pools, channel designs, and reverse proxy load balancing.
Summarised by Claude from a sample of 8 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Handling 1M Requests per Minute with Go7 people · 9 mentions · first linked 2015-07-07
- Handling 1M Requests per Minute with Go2 people · 2 mentions · first linked 2015-07-07
- Supercharging the Atom Editor for Go Development2 people · 2 mentions · first linked 2015-07-07
What Hacker News says?
One to read, and a single reader thread. That's no contention. One to write, that's used for writing only, not both read/write as in the published design. Edit: it's a variation on the following, but for ReverseProxies, not worker goroutines http://marcio.io/2015/07/handling-1-million-requests-per-min...
Comment linking /2015/07/handling-1-million-requests-per-minute-with-golang/
on “Let's Create a Simple Load Balancer with Go”Submitted Handling 1M Requests per Minute with Go as a story · 145 points
HN discussion> I just don't think Go has a place in new code. This is a completely blanket statement. Not only are there very large open source projects written in go which your company more than likely already uses (kubernetes, docker, prometheus, influxdb to name a few) there are also case studies of very respectable performance in go: 1 million requests/min http://marcio.io/2015/07/handling-1-million-requests-per-min... 1 mil…
Comment linking /2015/07/handling-1-million-requests-per-minute-with-golang/
on “Go Creeping In”Submitted Singleton Pattern in Go as a story · 134 points
HN discussionRe 3. Funny you should mention net http's goroutine per request model. Fasthttp massively out performs stdlib on every techemporer benchmark using a goroutine/worker pool model. https://stackoverflow.com/questions/41627931/in-golang-packa... https://www.techempower.com/benchmarks/ http://marcio.io/2015/07/handling-1-million-requests-per-min...
Comment linking /2015/07/handling-1-million-requests-per-minute-with-golang/
on “Why you can have millions of goroutines but only thousands of Java threads”Submitted Handling 1M Requests per Minute with Go (2015) as a story · 88 points
HN discussionThe way these guys did it is quite interesting: http://marcio.io/2015/07/handling-1-million-requests-per-min... I have experimented with something similar, ie a pool of goroutines to which work is dispatched (in my case, invoking anonymous functions passed via the input channels)
Comment linking /2015/07/handling-1-million-requests-per-minute-with-golang
on “Million WebSockets and Go (2017)”Submitted Supercharging the Atom Editor for Go Development as a story · 6 points
HN discussionSorry, it's not public, but it was based on this: http://marcio.io/2015/07/handling-1-million-requests-per-min... but made more generic. The 'task' passed to each worker was a closure that was executed by the worker.
Comment linking /2015/07/handling-1-million-requests-per-minute-with-golang/
on “My favorite Erlang program (2013)”Submitted Cheap MapReduce in Go as a story · 3 points
HN discussion> what is it with sysadmins maintaining large scripts while at the same time quipping that they are not programmers? We've met some programmers, and don't want to be compared to that [1]. Seriously. Programmers will embark on some massive mission that Apache and dumb CGIs can do[2] Programmers will justify their slow software by saying it's readable, or by saying that the JIRA ticket didn't specify how fast the solu…
Comment linking /2015/07/handling-1-million-requests-per-minute-with-golang/
on “Oil Shell: Success with Aboriginal, Alpine, and Debian Linux”Submitted Supercharging the Atom Editor for Go Development as a story · 3 points
HN discussionI truly feel sorry for those who started learning web development somewhere between 2009 and 2014. During that time, it seems like what would be accepted as the new standard for creating web applications was completely up for grabs. You had Angular, Backbone, Ember, and probably many others that just didn't get noticed. Can you imagine being a new developer during this time, trying to learn how to create a web appli…
Comment linking /2015/07/handling-1-million-requests-per-minute-with-golang/
on “Angular Material 1 will enter a maintenance mode”Submitted Handling 1M Requests per Minute with Go as a story · 3 points
HN discussionIndeed. I like the push approach outlined here: http://marcio.io/2015/07/handling-1-million-requests-per-min... I have done a more generic version of this with success. You have N workers, each reading from a separate input channel for work to do. Then you have an outer "channel of channels", holding those worker channels. When you want to submit work, select a worker channel from the outer channel, submit, and push…
Comment linking /2015/07/handling-1-million-requests-per-minute-with-golang/
on “Non-Blocking Parallelism for Services in Go”Submitted Supercharging the Atom Editor for Go Development as a story · 1 points
HN discussion