4 ms·
I'm hoping to start seeing projects in Go because Go gives them an advantage, not for the sake of it being in Go.
by vladev 13y ago
I'm hoping to start seeing projects in Go because Go gives them an advantage, not for the sake of it being in Go.
- arms 13y agoWe'll never know where Go excels unless we build lots of things with it first :)
- jurre 13y agoGo seems like a reasonable choice for this type of thing though, doesn't it?
- hox 13y agoDoes the project have to be open source? My company currently is using Go to monitor and respond to events on hundreds of thousands of RabbitMQ message queues. We create a goroutine for handling each queue, and Go handles all of the concurrency and threading in the runtime while avoiding the resource overhead of standard threads. All of this is done in an application that took about 6 hours to write. It really made a difference in our experience.
- sbarre 13y agoCan you share any details about how many resources this program requires to run?
- hox 13y agoFor the vast majority of cases that we deal with, we don't really need much for resources to run this application. One specific test uses approximately 20k goroutines and averages 15-20MB RAM depending on test load. As for CPU utilization, the impact is minimal; RabbitMQ is the biggest bottleneck, as our peak message throughput for a single RabbitMQ broker is about 50k/messages per second, which our go process is able to handle without much issue. The worst-case scenario that I've been able to test for is one where those 50k messages are evenly spread across different queues; even then, our CPU utilization wasn't any higher than 15%/core on a 12-core server.