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