Building Distributed Applications with Go

This course will demonstrate how to create a distributed application with Go including integration with a database and web-clients.
Course info
Rating
(40)
Level
Advanced
Updated
January 7, 2016
Duration
3h 17m
Table of contents
Introduction
22m 36s
Description
Course info
Rating
(40)
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
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.

More from the author
Object-oriented Programming with Go
Intermediate
1h 42m
11 Aug 2017
Debugging Go Applications with Delve
Intermediate
2h 5m
10 Jul 2017
Creating Web Applications with Go
Intermediate
4h 47m
27 Apr 2017
More courses by Mike Van Sickle
Transcript
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:

  1. An introduction to what distributed programming is
  2. An introduction to RabbitMQ including how to install and monitor
  3. How to publish and subscribe to messages in a variety of different messaging patterns
  4. 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.