Microservice Architecture & Pattern With Java Spring Boot / Cloud
Created by Timotius Pamungkas, Last Updated 12-Jan-2021, Language:English
Microservice Architecture & Pattern With Java Spring Boot / Cloud
Microservice architecture & patterns for many use cases. With full code examples using Java Spring Boot & Spring Cloud
Created by Timotius Pamungkas, Last Updated 12-Jan-2021, Language:English
What Will I Get ?
- Microservice architecture & patterns that can be used to design good microservice-based application
- Identify technical challenges & common pitfalls when designing microservice application, and how to handle them using proven patterns
- Example code on Spring Boot & Spring Cloud with various technologies : Apache Kafka, Consul, API Gateway, Hashicorp Vault, Circuit Breaker
- Deploy & monitor your microservice application using various technologies : Docker, Zipkin, Elasticsearch, Kibana, Logstash, Exception Tracking Service
Requirements
- The focus is NOT on coding course. We will see full, detail code & explanation, but not line-by-line hands-on.
- This course has theory & code part, if you're not interested in code part, no requirement needed.
- You must know Java Spring programming if you want to fully understand sample code. This course will NOT teach basic Java Spring programming
- If you want to run sample code, you need a computer with enough memory (at least 8 GB, ideally 16 GB)
- For convenience, use Linux, Mac, or Windows 10 Professional edition. Older Windows version, or Windows 10 Home should possible runs docker too using Docker Toolbox.
Description
Before you purchase:
The course will be focused on architecture & microservice patterns, not how to hand-code the application.
You will get full source code (downloadble). I will explain the code & algorithm, but we will not learn how to code line-by-line.
To get full understanding of sample code, you must know how to code with Java Spring.
Basic spring programming with REST API is NOT covered in this course.
If you need to know the concept, you don't need to know Spring programming
-------------------------------------------------------------------------------------------------------------------------------------------
Microservice architecture has become general choice for modern application development. It solves certain problems, although it is not a solution for ecerything.
When using microservice, complexity shifts, and mindset change required. Technical challenges will arise and must be addressed. Fortunately, many people already facing the same technical challenges and developed a solution. These solutions become common patterns to solve thes problems. Thus, it become design patterns for microservices architecture.
There are many patterns to design and implement microservices.
Microservices is -by nature- distributed system, thus some technical challenges comes from this nature. Communication among services in distributed places require different approach to works efficiently. In this course, we will learn many things :
what is microservice architecture
microservice chassis to boost productivity
organize clean & standard microservice code
communication among services : synchronous, asynchronous
service discovery
handling communication error
synchronize data & keeping data integrity on transaction which involves several distributed services
capture changed data in real time, in reliable way
querying data from multiple services
event sourcing, replaying data flow
API gateway concept
composing several API
cache
monitoring services
tracing call chain that involves several services
centralized log & exception tracking
deploy the application as docker container
This course will be delivered with full sample code using Java Spring Boot & Spring Cloud.
Several other tools that we will use on this course :
Apache Kafka (will use a lot of this!)
MySQL
Debezium
Docker
Hashicorp Consul
Hashicorp Vault
Elasticsearch
Logstash
Kibana
Zipkin
Kong API management
Course Content
-
Introduction
2 Lectures 00:08:07-
Welcome
Preview00:02:11 -
Tips : How To Get Maximum Value From This Course
Preview00:05:56
-
-
Basic Idea of Microservices
2 Lectures 00:29:17-
What is That?
Preview00:17:19 -
Service Decomposition
00:11:58
-
-
How To Run The Sample Codes
3 Lectures 00:17:47-
Sample Codes Used in The Course
00:04:36 -
Run Required Applications With Docker
00:10:43 -
Run The Sample Source Code
00:02:28
-
-
Microservice Chassis
3 Lectures 00:38:10-
Microservice Chassis - What & Why
Preview00:05:10 -
Microservice Chassis - Sample Code
00:30:45 -
Microservice Chassis - Alternative
00:02:15
-
-
Clean & Standard Microservice Source Code
2 Lectures 00:18:38-
Organizing Source Code
00:08:29 -
Organizing Source Code - Sample Code
00:10:09
-
-
Services Communication
8 Lectures 01:19:23-
Inter Process Communication - Overview
Preview00:03:32 -
Inter Process Communication - Sample Codes
00:18:03 -
Inter Process Communication - Benefits & Drawbacks
00:06:44 -
Service Discovery - Where Are You?
00:04:06 -
Service Discovery - Sample Code
00:13:54 -
Communication Error Handling - Trouble Happens
00:03:38 -
Communication Error Handling - Sample Code
00:14:54 -
Communication Error Handling - Newer Alternative
00:14:32
-
-
Data Transaction Across Services
11 Lectures 01:20:08-
Database Log Tailing - Change Data Capture
Preview00:02:29 -
Database Log Tailing - Sample Code
00:14:55 -
Polling Publisher - Change Data Capture
00:00:37 -
Polling Publisher - Sample Code
00:08:07 -
Saga - Handling Database Transaction
00:09:58 -
Saga - Sample Code (Choreography)
00:07:59 -
Saga - Sample Code (Orchestration)
00:08:59 -
Saga - Error Handling
00:04:31 -
Saga - Sample Code (Choreography Saga With Error Handling)
00:08:36 -
Saga - Sample Code (Orchestration Saga With Error Handling)
00:11:04 -
Saga - Choreography or Orchestration?
00:02:53
-
-
Query Data From Multiple Services
5 Lectures 00:36:08-
Querying Data - The Approaches
Preview00:06:26 -
CQRS - In Detail
00:02:48 -
CQRS - Sample Code
00:20:39 -
Large Data Set
00:00:47 -
Large Data Set - Sample Code
00:05:28
-
-
Event Sourcing with Axon Framework
2 Lectures 00:22:51-
Event Sourcing - Transaction Trail
00:04:11 -
Event Sourcing - Sample Code
00:18:40
-
-
API Gateway
5 Lectures 00:40:48-
Composing Several APIs
00:03:15 -
API Management
00:07:10 -
Sample Code - Spring Cloud Gateway
00:06:42 -
Sample Code - Reverse Proxy Using Spring Cloud Gateway
00:09:24 -
Kong API Management
00:14:17
-
-
Cache
2 Lectures 00:07:55-
Cache - API Speed Booster
00:03:21 -
Cache - Sample Code
00:04:34
-
-
Prepare For Production
6 Lectures 00:39:27-
Service Configuration
00:04:12 -
Service Configuration - Sample Code
00:12:26 -
Service Configuration - Database Credential On Vault
00:04:51 -
Prepare For Production
00:06:48 -
Prepare For Production - Tools for Sample Code
00:02:58 -
Health Check & Application Metric - Sample Code
00:08:12
-
-
Resources & References
2 Lectures-
Download Scripts & Source Code Sample
-
Resource & Links Reference
-