Course info

Rating

(47)

Level

Advanced

Updated

January 7, 2016

Duration

3h 17m

Description

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.

About the author

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
experience design.

Transcript

Hi everyone, my name is Michael Van Sickle and welcome to my course Building Distributed Applications with Go.

I am 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. However, the world is continuing to evolve and it is becoming increasingly important for applications to be able to scale beyond a single processor to multiple processors on multiple machines. Fortunately, Go’s focus on simplicity and concurrency mean that it is ready to support this challenge.

In this course, we are going to learn how to build a distributed application with Go. We’re going to take a code-heavy approach without the support of anymore 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

How to publish and subscribe to messages in a variety of different messaging patterns

How to use WebSockets to provide real-time updates

By the end 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. I hope you’ll join me on this journey to learn Go with the Building Distributed Applications with Go course, at Pluralsight.