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
(60)
Level
Advanced
Updated
Jan 7, 2016
Duration
3h 17m
Table of contents
Course Overview
Introduction
Introduction to RabbitMQ
Publishing Messages to a Message Queue
Using Messages to Generate Events
Persisting Data from Distributed Sources
Updating Web Clients from Distributed Sources
Description
Course info
Rating
(60)
Level
Advanced
Updated
Jan 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
Exploring Go Modules
Intermediate
1h 52m
Aug 26, 2019
Deep Dive into Go Packages
Intermediate
1h 34m
Jul 29, 2019
Go: Getting Started
Beginner
3h 29m
Jun 28, 2019
More courses by Mike Van Sickle
Section Introduction Transcripts
Section Introduction Transcripts

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.