How to design & develop REST microservices in Golang (Go)

20h 26m 49s
English
Paid

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.

Read more about the course

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.

Requirements:
  • Just complete the Golang tour available at Golang's website
  • Nice to have: Part 1 of this course

Who this course is for:

  • Software engineers.
  • Software developers.
  • Technical leaders.
  • Architects.
  • Anyone who wants to get serious about microservices in Go.

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.

Watch Online How to design & develop REST microservices in Golang (Go)

Join premium to watch
Go to premium
# Title Duration
1 Course goal: What we're going to build 07:35
2 A quick preview 10:15
3 Create projects in Github 13:20
4 HTTP frameworks 10:12
5 Basic application structure: MVC pattern 30:10
6 Starting from our domain 46:35
7 How to structure our domain persistence 41:08
8 Working with dates 21:05
9 Configure MySQL client in Go 29:39
10 How to insert rows 26:42
11 How to read rows 14:59
12 How to handle MySQL errors 33:31
13 How to update rows 33:39
14 How to delete rows 21:43
15 How to find rows 51:43
16 How to marshal structs 33:04
17 Services structure 25:34
18 No logging system 38:08
19 OAuth authentication 11:28
20 Domain Driven Development 18:21
21 DDD - Starting with the domain 27:58
22 DDD - Project structure 36:27
23 Introduction to Cassandra DB 10:56
24 Cassandra Go client 22:11
25 How to insert, get and update records 29:58
26 Tune our get session implementation 05:51
27 Authenticating users 11:28
28 Generating access tokens 57:12
29 Different requests for the two APIs 15:37
30 Creating a shared OAuth library 52:46
31 How dependencies work: go get & dep 17:13
32 Defining transitive dependencies 06:32
33 Creating a shared utils library 26:42
34 Application structure: MVC & gorilla/mux 47:01
35 Configure our mux router 36:25
36 Introduction to Elasticsearch 12:11
37 Adding ElasticSearch client 29:45
38 Index documents in ES 38:59
39 Moving our logger to the utils library 33:04
40 Improving our errors library 32:47
41 Vendoring all of our APIs 17:57
42 How to get documents by ID 36:14
43 Searching documents in ES 44:47
44 Homework: Add delete and update endpoints 03:53
45 Testing our application: OAuth client 28:16
46 Use Docker to ship our Items API 24:00
47 Extra class - Take a look at my online content 01:48

Similar courses to How to design & develop REST microservices in Golang (Go)

Building Production-Ready Services with gRPC and Go

Building Production-Ready Services with gRPC and GoByteSizeGo

Category: Golang (Google Go)
Duration 11 hours 23 minutes 33 seconds
Introduction to Testing in Go (Golang)

Introduction to Testing in Go (Golang)udemy

Category: Golang (Google Go)
Duration 12 hours 17 minutes 47 seconds
Build Your Own Database in Go From Scratch

Build Your Own Database in Go From ScratchJames Smith

Category: Golang (Google Go)
Duration
Ardan Labs Live Bytes (Ultimate Go Syntax LIVE)

Ardan Labs Live Bytes (Ultimate Go Syntax LIVE)ardanlabs.com

Category: Golang (Google Go)
Duration 1 hour 48 minutes 40 seconds
Ultimate Go: Advanced Engineering

Ultimate Go: Advanced Engineeringardanlabs.com

Category: Golang (Google Go)
Duration 16 hours 20 minutes 42 seconds
Golang (Google go)

Golang (Google go) udemy

Category: Golang (Google Go)
Duration 17 hours 57 minutes 50 seconds
Building Levenue

Building LevenueAnthony GG

Category: Golang (Google Go)
Duration 6 hours 55 minutes 58 seconds
Refactoring With Bill

Refactoring With Billardanlabs.com

Category: Golang (Google Go)
Duration 7 hours 49 minutes 54 seconds
Go - The Complete Guide

Go - The Complete GuideAcademind Pro

Category: Golang (Google Go)
Duration 15 hours 23 minutes 30 seconds
How to develop a productive HTTP client in Golang (Go)

How to develop a productive HTTP client in Golang (Go)udemy

Category: Golang (Google Go)
Duration 9 hours 44 minutes 29 seconds