Building Distributed Applications with Go

This course will teach you to build the basic elements of a distributed application architecture from first principles, using only Go’s standard library.
Course info
Rating
(15)
Level
Advanced
Updated
Feb 17, 2021
Duration
2h 58m
Table of contents
Description
Course info
Rating
(15)
Level
Advanced
Updated
Feb 17, 2021
Duration
2h 58m
Description

Many production-grade distributed systems are built using one of the Go community’s excellent distributed application frameworks. However, unless you have an understanding of the basic principles at work, these systems can be difficult to troubleshoot when things go wrong. In this course, Building Distributed Applications with Go, you’ll learn the basic elements of a distributed application architecture. First, you’ll explore the challenges associated with creating a distributed application. Next, you’ll discover how to create a basic service registry from scratch and use it to register and discover services with it. Finally, you’ll learn how to monitor all the services that make up the application to identify, isolate, and remove services that become unresponsive. When you’re finished with this course, you’ll have the skills and knowledge of distributed applications needed to build more efficient and maintainable multi-service applications.

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
Managing State in Flutter
Intermediate
2h 14m
Nov 9, 2020
Working with Files in PHP
Intermediate
1h 34m
Sep 3, 2020
More courses by Mike Van Sickle
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi, everyone. My name is Michael VanSickle, and welcome to my course, Building Distributed Applications with Go. Distributed systems and microservices have revolutionized the way that large software systems are defined. These flexible architectures allow organizations to develop large, complicated systems by breaking down the system into small, specialized domains that can be managed by small teams. In this course, we are going to build our own distributed system using only the Go language and the standard library. Along the way, we're going to learn a lot about how these systems work and the challenges that you'll face as you develop your own. Some of the major topics that we will cover include the advantages and disadvantages of the primary distributed system architecture, the elements that are common to distributed systems, how services can discover other services, and finally, monitoring the distributed services to ensure that they remain responsive. By the end of this course, you'll have the fundamental knowledge required to design your own distributed application. Before beginning the course, you should be familiar with the Go language, its standard library, and how to use them to create web services and web applications. I hope you'll join me on this journey to learn about distributed systems with the Building Distributed Applications with Go course at Pluralsight.