How To Design & Develop Rest Microservices In Golang (Go)
Last updated 4/2020
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 7.29 GB | Duration: 20h 40m
Last updated 4/2020
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 7.29 GB | Duration: 20h 40m
All you need to integrate SQL & NoSQL databases, search engines and all the tools that you need in your REST API.
What you'll learn
How to structure and organize your microservice.
Domain Driven Development.
Hexagonal architecture applied.
MySQL integration and configuration.
Integrate Cassandra DB in your microservices.
Elasticsearch integration and configuration.
Logging to standard output and log files.
DAO pattern implementation.
How to build, publish and use a custom Go library.
Testing all the layers of your application.
How dependencies work in Go.
Requirements
Just complete the Golang tour available at Golang's website
Nice to have: Part 1 of this course
Description
Welcome! In this second part of the series I'm working with MySQL, Cassandra and Elasticsearch as persistence layers and we're going to create 3 different microservices using different design patterns: MVC, featured MVC and Domain Driven Development implementing the Hexagonal architecture.At the end of the course you'll learn:How to structure our application's packages and code.MVC pattern, Domain Driven Development and Hexagonal Architecture applied!How to configure MySQL client in Go. DAO pattern implemented.How to configure and use CassandraDB client in Go.How to configure and use Elasticsearch in Go.Testing and mocking database integrations.Stress test the microservice with goroutines.How dependencies work in Go. Usage of Go modules.How to build, publish, use and share a custom Go library.Application design patterns.Preparing our distributed logging system.Real life examples and exercises.I'm sure you're going to enjoy this course! if you have any doubts, please check the reviews on my other courses so you can get an idea about what you're about to get. This is real life and industry experience!Hope to hear from you!Fede.
Overview
Section 1: Introducción
Lecture 1 Course goal: What we're going to build
Lecture 2 A quick preview
Lecture 3 These are all of the repos!
Section 2: Creating our projects: Users API
Lecture 4 Create projects in Github
Lecture 5 HTTP frameworks
Lecture 6 Basic application structure: MVC pattern
Lecture 7 Starting from our domain
Lecture 8 How to structure our domain persistence
Lecture 9 Working with dates
Section 3: MySQL integration
Lecture 10 Configure MySQL client in Go
Lecture 11 How to insert rows
Lecture 12 How to read rows
Lecture 13 How to handle MySQL errors
Lecture 14 How to update rows
Lecture 15 How to delete rows
Lecture 16 How to find rows
Section 4: Fixing the mistakes we made
Lecture 17 How to marshal structs
Lecture 18 Services structure
Lecture 19 No logging system
Section 5: Creating our projects: OAuth API
Lecture 20 OAuth authentication
Lecture 21 Domain Driven Development
Lecture 22 DDD - Starting with the domain
Lecture 23 DDD - Project structure
Section 6: Cassandra integration
Lecture 24 Introduction to Cassandra DB
Lecture 25 Cassandra Go client
Lecture 26 How to insert, get and update records
Lecture 27 Tune our get session implementation
Section 7: Making the authentication work
Lecture 28 Authenticating users
Lecture 29 Generating access tokens
Lecture 30 Different requests for the two APIs
Section 8: Golang libraries & dependencies
Lecture 31 Creating a shared OAuth library
Lecture 32 How dependencies work: go modules
Lecture 33 Defining transitive dependencies
Lecture 34 Creating a shared utils library
Section 9: Creating our projects: Items API
Lecture 35 Application structure: MVC & gorilla/mux
Lecture 36 Configure our mux router
Lecture 37 Introduction to Elasticsearch
Lecture 38 Adding ElasticSearch client
Lecture 39 Index documents in ES
Lecture 40 Moving our logger to the utils library
Lecture 41 Improving our errors library
Lecture 42 Dependencies: Using modules in all projects
Lecture 43 How to get documents by ID
Lecture 44 Searching documents in ES
Lecture 45 Homework: Add delete and update endpoints
Section 10: Testing
Lecture 46 Testing our application: OAuth client
Section 11: Docker
Lecture 47 Use Docker to ship our Items API
Section 12: Extra chapter
Lecture 48 Extra class - Take a look at my website
Software engineers.,Software developers.,Technical leaders.,Architects.,Anyone who wants to get serious about microservices in Go.