Skip to main content
CF

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

20h 26m 49s
English
Paid

Explore the dynamic world of microservice architecture with Go in this comprehensive course. This second part of the series delves into using MySQL, Cassandra, and Elasticsearch as persistence layers, while guiding you through the creation of three diverse microservices employing cutting-edge design patterns: MVC, advanced MVC, and Domain Driven Development with a focus on Hexagonal architecture.

Course Overview

By the conclusion of this course, you'll have mastered:

  • Effective structuring of application packages and code organization.

  • Application of MVC pattern, Domain Driven Development, and Hexagonal Architecture.

  • Configuration of MySQL client in Go with the DAO pattern implementation.

  • Integration of CassandraDB client in Go applications.

  • Utilizing and configuring Elasticsearch within Go projects.

  • Comprehensive testing and mocking of database integrations.

  • Stress testing microservices using goroutines.

  • Understanding and managing dependencies with Go modules.

  • Building, publishing, and sharing custom Go libraries.

  • Implementing effective application design patterns.

  • Setting up a robust distributed logging system.

  • Practicing real-life examples and exercises to cement learning.

Course Prerequisites

Requirements:

  • Completion of the Golang tour available on the Golang website.
  • Beneficial to have completed Part 1 of this course series.

Target Audience

Who this course is for:

  • Software engineers.
  • Software developers.
  • Technical leaders.
  • Architects looking to specialize in microservices with Go.
  • Anyone eager to enhance their skills in microservices using Go.

Key Learning Objectives

What you'll learn:

  • Strategies for structuring and organizing microservices.
  • In-depth understanding of Domain Driven Development.
  • Practical application of the Hexagonal architecture.
  • How to integrate and configure MySQL within microservices.
  • Best practices for integrating Cassandra DB.
  • Methods for Elasticsearch integration and configuration.
  • Logging methods for standard output and log files.
  • Implementing the DAO pattern effectively.
  • Processes for building, publishing, and utilizing custom Go libraries.
  • Testing techniques across all application layers.
  • Dependency management in Go projects.

About the Author: Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

Watch Online 47 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 47 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Course goal: What we're going to build
All Course Lessons (47)
#Lesson TitleDurationAccess
1
Course goal: What we're going to build Demo
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
Unlock unlimited learning

Get instant access to all 46 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What is How to design & develop REST microservices in Golang (Go) about?
Explore the dynamic world of microservice architecture with Go in this comprehensive course. This second part of the series delves into using MySQL, Cassandra, and Elasticsearch as persistence layers, while guiding you through the creation…
Who teaches this course?
It is taught by Udemy. You can find more courses by this instructor on the corresponding source page.
How long is the course?
It contains 47 lessons with a total runtime of 20 hours 26 minutes. Every lesson is available to watch online at your own pace.
Is it free to watch?
It is part of CourseFlix's premium catalog. A subscription unlocks the full video player; the course description, table of contents, and preview information are available to everyone.
Where can I watch it online?
The course is available to watch online on CourseFlix at https://courseflix.net/course/how-to-design-develop-rest-microservices-in-golang-go. The page hosts every lesson with the integrated video player; no download is required.