/Hands-on-Microservices-with-Go

Hands-on Microservices with Go

Primary LanguageGoMIT LicenseMIT

Hands-on-Microservices-with-Go

Hands-on Microservices with Go

Section 1 - Introduction to Microservices

Video 1 - Exploring the complexity of modern Applications and how they can be addressed with Microservices Architectures

Video 2 - Installation of required software

Video 3 - HTTP and REST

Video 4 - Writing our first Microservice in Go

Video 5 - Handling 400s, 404s and 500s and Adding logging.

Video 6 - Using a Database and Creating a CRUD app.

Section 2 - Go's HTTP Package in Detail

Video 1 - HTTP Handler Functions - The Request Object

Video 2 - HTTP Handler Functions - The Response Object

Video 3 - HTTP Server Details

Video 4 - Middleware

Video 5 - Testing HTTP Handlers

Video 6 - The Context Package

Section 3 - Response Formats

Video 1 - Working with JSON

Video 2 - Working with XML

Video 3 - Introduction to GRPC and Protocol Buffers

Video 4 - Introduction to GRPC and Protocol Buffers – Part 2

Section 4 - Security and Authentication

Video 1 - HTTPS and TLS

Video 2 - TLS Certificates with Let's Encrypt

Video 3 - Authentication Tokens and JWT

Video 4 - General Security Best Practices

Section 5 - Performance

Video 1 - Load Testing with Apache JMeter

Video 2 - Profiling our Application with PProf and Go Torch

Video 3 - General Strategies for Scaling

Video 4 - Using an In Memory Cache

Video 5 - Load Balancing with Nginx

Video 6 - Instrumentation: Collecting Metrics and monitoring with Prometheus.

Section 6 - Deployment with Docker

Video 1 - Introduction to Docker

Video 2 - Docker Networking and Data Management

Video 3 - Docker Compose

Video 4 - Monitoring Docker Containers with Prometheus

Video 5 - Introduction to Service Discovery

Section 7 - Architecture

Video 1 - Clean Architecture - Part 1

Video 2 - Clean Architecture - Part 2

Video 3 - API Gateways

Video 4 - More on Architecture

Section 8 - Go Kit

Video 1 - Go Kit - Part 1

Video 2 - Go Kit - Part 2

Section 9 - Resilience

Video 1 - Circuit Breakers

Video 2 - Rate Limiters

Video 3 - Basic Concepts on High Availability – Part 1

Video 4 - Basic Concepts on High Availability – Part 2

Section 10 - Migrating from a Monolith to a Microservices Architecture

Video 1 - Strategies for migrating from a Monolith to a Microservices Architecture – Part 1

Video 2 - Strategies for migrating from a Monolith to a Microservices Architecture – Part 2

Video 3 - The Saga Pattern - Part 1

Video 4 - The Saga Pattern - Part 2