Go was born into a world where multiple processors are the norm and the ability of an application to scale across those processors is critical. Go meets this challenge by including language-level support for concurrency. However, the landscape continues to evolve and languages are now being challenged to connect multiple applications in a distributed ecosystem. This course takes you through the implementation of such a system using as much core Go as possible. While some libraries are used to access message queues, etc., the distributed nature of the resulting suite of applications will be composed of as much core Go as possible with little or no support from other third-party libraries.
Michael Van Sickle is an application architect in Akron, Ohio.
He is a mechanical engineer by training and a software engineer by choice.
He is passionate about learning new programming languages and user
Course Overview Hi everyone. My name is Michael Van Sickle, and welcome to my course: Building Distributed Applications with Go. I'm a software architect at Sterling Jewelers. I started out as a mechanical engineer, but have been programming throughout my entire career. A few years ago, I changed over to software development as my full-time occupation. Right around that same time, I learned about the Go language and fell in love with its simplicity and power. One of Go's great strengths, is its built-in support for concurrent programming, which makes it much simpler to take full advantage of today's multi-core processors. In this course, we're going to learn how to build a distributed application with Go. We're going to take a code-heavy approach without the support of any more third-party libraries than we can help. Some of the major topics that we will cover include: an introduction to what distributed programming is; an introduction to RabbitMQ, including how to install and monitor it; how to publish and subscribe to messages in a variety of different messaging patterns; how to use WebSockets to provide real time updates to a web-based client. By the end of this course, you'll know how to use Rabbit and integrate it into a Go application. Along the way, you'll also gain a perspective on one way to build a distributed application. There are, of course, many other approaches to solving this problem, but this course will give you a starting point to build upon. Before beginning the course, you should be familiar with the Go language itself and the basics of Web Application Development with Go. This is an advanced level course, so I'm not going to take the time to break syntax down for you. I hope you'll join me on this journey to learn Go with the Building Distributed Applications with Go course at Pluralsight.