---
title: "#171: Using Message Queue Systems via Go Channels"
publication: "Go Weekly"
issue: 171
published_at: "2017-08-03"
canonical_url: "https://golangweekly.com/issues/171"
---

Go Newsletter 171   . 

[Read this on the Web](http://golangweekly.com/issues/171) 

[Go Newsletter](http://golangweekly.com) Issue 171 — August 3, 2017     

Featured [Vice: Go Channels Across Many Machines](https://medium.com/@matryer/introducing-vice-go-channels-across-many-machines-bcac1147d7e2?utm_source=golangweekly&utm_medium=email) Allows developers to use standard Go channel semantics on top of various queuing backends like NSQ, Redis, and SQS. Mat Ryer [A Million WebSockets and Go](https://medium.com/@gobwas/million-websockets-and-go-cc58418460bb?utm_source=golangweekly&utm_medium=email) How Russia’s largest email provider developed a high-load WebSocket server with Go that could scale to their loads. Sergey Kamardin [The Go Contributors Summit at GopherCon](https://blog.golang.org/contributors-summit?utm_source=golangweekly&utm_medium=email) news The day before GopherCon, a group of Go team members and contributors gathered in Denver to discuss and plan for the future of the Go project. The Go Blog [ActiveGo - The world’s only commercially supported Go distribution](http://start.activestate.com/activego/?utm_source=Go-Weekly&utm_medium=banner&utm_term=&utm_content=17-08-03-Go-Newsletter&utm_campaign=17-08-03-go-weekly-banner) Satisfy your company’s requirements for commercial support, security and license compliance with ActiveGo for Linux, MacOS, and Windows. [Try the Community Edition for free](http://start.activestate.com/activego/?utm_source=Go-Weekly&utm_medium=banner&utm_term=&utm_content=17-08-03-Go-Newsletter&utm_campaign=17-08-03-go-weekly-banner). ActiveStatesponsored[![\](https://copm.s3.amazonaws.com/d36d9b73.jpg)](http://start.activestate.com/activego/?utm_source=Go-Weekly&utm_medium=banner&utm_term=&utm_content=17-08-03-Go-Newsletter&utm_campaign=17-08-03-go-weekly-banner) [A Go Programmer's Guide to Syscalls](https://www.youtube.com/watch?v=01w7viEZzXQ&index=20&list=PL2ntRZ1ySWBdD9bru6IR-_WXUgJqvrtx9&utm_source=golangweekly&utm_medium=email) syscalls bridge between your code and the operating system and this talk goes under the hood to look at what they are and how Go makes use of them. Liz Rice [Building a Worker Pool in Go](https://geeks.uniplaces.com/building-a-worker-pool-in-golang-1e6c0fdfd78c?utm_source=golangweekly&utm_medium=email) Create a worker pool that consumes queue messages and employs a state machine to process each worker lifecycle. João Almeida [An Introduction to Reed-Solomon Error Correction](https://innovation.vivint.com/introduction-to-reed-solomon-bc264d0794f8?utm_source=golangweekly&utm_medium=email) Reed-Solomon codes are used in many systems from DVDs to QR codes to provide error correction. This post is about both a new Reed-Solomon Go library and how the system works itself. Jeff Wendling [Using Functional Options Instead of Method Chaining](https://www.calhoun.io/using-functional-options-instead-of-method-chaining-in-go/?utm_source=golangweekly&utm_medium=email) Using GORM as an example, it’s possible to rewrite a chained method and keep Go’s error-checking conventions. Jon Calhoun Jobs [Senior Software Engineer - Infrastructure Backend](http://jobs.jobvite.com/careers/newrelic/job/ogUA5fwz?__jvst=Job%20Board&__jvsd=GoNewsletter) We are looking for a Full Stack Engineer with a strong interest in building, deploying, and operating back-end tools and services that process enormous quantities of data in performant ways. New Relic [Get Your Next Tech Job Faster. Get Hired on Hired.](https://hired.com/join/?utm_source=petercooperpress&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-swe%29%28q3-17-go-weekly%29) Save time on your job search. Hired delivers multiple, high-quality job offers to you. Sign up today. Hired In Brief [Are You a Go Meetup Organizer? Let Us Know](https://docs.google.com/forms/d/e/1FAIpQLSeBt4A1FKmryN5gOLITEgrcIPHsifV4pR9EmZoL1dvaK1vTjA/viewform?utm_source=golangweekly&utm_medium=email) news If you run a Go meetup, the Go Community Team want to know about it. Go Community Team [Webinar: 5 Tips on Determining the Most Impactful Metrics in Your App](https://www.vividcortex.com/resources/5-tips-impactful-metrics?utm_campaign=Go%20Newsletter&utm_source=ppc&utm_medium=Webinar-5%20Metrics) This webinar, co-hosted by VividCortex & Datadog, explores best ways to monitor important performance metrics. VividCortexsponsored [Visualize Your Local Git Contributions with Go](https://flaviocopes.com/go-git-contributions/?utm_source=golangweekly&utm_medium=email) tutorial Recreating a git contributions visualization (similar to Github’s) as a Go command line application. Flavio Copes [Writing Forward Compatible Go Code](https://about.sourcegraph.com/go/forward-compatible-go-code?utm_source=golangweekly&utm_medium=email) tutorial Joe Tsai [The Experience of Porting 4.5k Lines of C to Go](https://blog.kowalczyk.info/article/wN9R/experience-porting-4.5k-loc-of-c-to-go-facebooks-css-flexbox-implementation-yoga.html?utm_source=golangweekly&utm_medium=email) story Krzysztof Kowalczyk [Interface Wrapping Method Erasure](https://medium.com/@cep21/interface-wrapping-method-erasure-c523b3549912?utm_source=golangweekly&utm_medium=email) opinion A case of Go’s best practices and conventions getting in the way of efficient implementation of interfaces. Jack Lindamood [Advanced Testing with Go](https://www.youtube.com/watch?v=8hQG7QlcLBk&list=PL2ntRZ1ySWBdD9bru6IR-_WXUgJqvrtx9&index=13&utm_source=golangweekly&utm_medium=email) video Mitchell Hashimoto [Reduce time spent debugging by 90%](https://rollbar.com/golangweekly) Instantly know what's broken and why. Rollbar is monitoring, alerting, analytics for production errors. Try it. ROLLBARsponsored [virtualgo: Workspace Based Development for Go](https://github.com/GetStream/vg?utm_source=golangweekly&utm_medium=email) tools Stream [Crunchy: Find Common Flaws in Passwords](https://github.com/muesli/crunchy?utm_source=golangweekly&utm_medium=email) code Like cracklib, but written in Go. Christian Muehlhaeuser [TiDB: A MySQL-Protocol Compatible Distributed NewSQL Database](https://github.com/pingcap/tidb?utm_source=golangweekly&utm_medium=email) code PingCAP [rubberneck: Configuration Printer for Go Applications](https://github.com/relistan/rubberneck?utm_source=golangweekly&utm_medium=email) code Pretty(ish) print config settings on app startup. Karl Matthias [gocmdpev: A Go-Based Postgres Query Visualizer](https://github.com/simon-engledew/gocmdpev?utm_source=golangweekly&utm_medium=email) code Heavily inspired by [pev](https://github.com/AlexTatiyants/pev). Simon Engledew    

Go Newsletter is curated by [Peter Cooper](https://twitter.com/peterc) and [Glenn Goodrich](https://twitter.com/ruprict) [Read this issue on the Web](http://golangweekly.com/issues/171) [See our archives](http://golangweekly.com/issues) [Change your email address](*|UPDATE_PROFILE|*)  [Stop getting this newsletter](*|UNSUB|*)  

Published by [Cooperpress](https://cooperpress.com/)
Fairfield Enterprise Centre, Lincoln Way, Louth, LN11 0LS, UK
