Scaling Go Applications Horizontally
Go allows applications to run extremely quickly and efficiently. However, eventually, a single instance of your application isn't enough. This course will teach you how to refactor your application to prepare it to scale across multiple servers.
What you'll learn
Go allows highly performant applications to be built easily due to its focus on simplicity and speed. However, there comes a point where an application simply can't keep up when operating in a single process. This course, Scaling Go Applications Horizontally, will offer a series of techniques that will teach you how to spread the load out amongst many different processes. You'll also learn how to create distributed applications that can scale dynamically to meet changing demands. And, in order to gain the best possible understanding of the challenges and potential solutions, you'll learn how to write everything in pure Go, relying only on the standard library and no third party libraries for assistance. Armed with this knowledge, you'll be better equipped to understand what a third-party library can do to help you, or if you can get by with a custom solution. By the end of this course, you'll be able to refactor and scale your Go applications across multiple servers so that your apps can run faster and simpler than ever.
Table of contents
- Introduction 2m
- Target Architecture 4m
- Demo: Building the Load Balancer 13m
- Provider Registration 1m
- Service Discovery 3m
- Service Termination 2m
- Heartbeat Checks 2m
- Demo: Service Registration in the Load Balancer 13m
- Demo: Service Registration in the App Servers 4m
- Demo: Running the Load Balanced System 5m
- Summary 2m