Ideas Around Microservices\
0:00 How to Get Help
0:56 What Is a Microservice
4:15 Data in Microservices
11:50 Big Problems with Data
16:59 Sync Communication Between Services
23:52 Event-Based Communication
29:12 A Crazy Way of Storing Data
39:01 Pros and Cons of Async Communication
2.A Mini-Microservices App\
45:17 App Overview
51:01 Project Setup
55:59 Posts Service Creation
1:04:18 Testing the Posts Service
1:08:23 Implementing a Comments Service
1:16:46 Quick Comments Test
1:20:43 React Project Setup
1:25:44 Building Post Submission
1:35:39 Handling CORS Errors
1:39:48 Fetching and Rendering Posts
1:49:52 Creating Comments
1:58:02 Displaying Comments
2:05:26 Request Minimization Strategies
2:10:20 An Async Solution
2:17:36 Common Questions Around Async Events
2:21:51 Event Bus Overview
2:27:05 A Basic Event Bus Implementation
2:32:28 Emitting Events
2:37:46 Emitting Comment Creation Events
2:41:31 Receiving Events
2:46:04 Creating the Data Query Service
2:50:47 Parsing Incoming Events
2:57:49 Using the Query Service
3:04:59 Adding a Simple Feature
3:09:46 Issues with Comment Filtering
3:17:30 A Second Approach
3:23:08 How to Handle Resource Updates
3:27:53 Creating the Moderation Service
3:32:46 Adding Comment Moderation
3:37:13 Handling Moderation
3:42:43 Updating Comment Content
3:47:42 A Quick Test
3:53:39 Rendering Comments by Status
3:57:06 Dealing with Missing Events
4:07:30 Implementing Event Sync
4:13:41 Event Syncing in Action
Services with Docker\
4:17:58 Deployment Issues
4:24:54 Why Docker
4:27:50 Why Kubernetes
4:33:37 Don’t Know Docker Watch This
4:34:54 Dockerizing the Posts Service
4:38:57 Review Some Basic Commands
4:44:21 Dockering Other Services
Collections of Services with Kubernetes\
4:47:22 Installing Kubernetes
4:50:42 A Kubernetes Tour
5:00:28 Important Kubernetes Terminology
5:03:20 Notes on Config Files
5:06:31 Creating a Pod
5:13:13 Understanding a Pod Spec
5:18:29 Common Kubectl Commands
5:23:13 A Time-Saving Alias
5:25:40 Introducing Deployments
5:29:08 Creating a Deployment
5:35:20 Common Commands Around Deployments
5:39:56 Updating Deployments
5:45:59 Preferred Method for Updating Deployments
5:51:42 Networking With Services
5:55:58 Creating a NodePort Service
6:03:50 Accessing NodePort Services
6:09:00 Setting Up Cluster IP Services
6:12:13 Building a Deployment for the Event Bus
6:17:48 Adding ClusterIP Services
6:25:26 How to Communicate Between Services
6:29:35 Updating Service Addresses
6:36:03 Verifying Communication
6:41:04 Adding Query, Moderation and Comments
6:51:01 Testing Communication
6:56:31 Load Balancer Services
7:01:45 Load Balancers and Ingress
7:08:24 Installing Ingress-Nginx
7:16:04 Writing Ingress Config Files
7:20:52 Hosts File Tweak
7:27:08 Deploying the React App
7:33:17 Unique Route Paths
7:40:12 Final Route Config
7:46:45 Introducing Skaffold
7:49:54 Skaffold Setup
7:59:12 First Time Skaffold Startup
8:00:13 A Few Notes on Skaffold
of Multi-Service Apps\
8:06:43 Big Ticket Items
8:21:54 App Overview
8:30:48 Resource Types
8:34:11 Service Types
8:37:49 Events and Architecture Design
8:41:38 Auth Service Setup
8:46:29 Auth K8s Setup
8:54:44 Adding Skaffold
9:00:21 Ingress-Nginx Setup
9:07:41 Hosts File and Security Warning
a Cloud Environment for Development\
9:11:47 Note on Remote Development
9:14:38 Remote Dev with Skaffold
9:21:14 Google Cloud Initial Setup
9:23:58 Kubernetes Cluster Creation
9:27:57 Kubectl Contexts
9:31:47 Initializing the GCloud SDK
9:36:50 Installing the GCloud Context
9:41:08 Updating the Skaffold Config
9:45:43 More Skaffold Updates
9:46:50 Creating a Load Balancer
9:52:02 Final Config and Test
Normalization Strategies\
9:58:28 Creating Route Handlers
10:04:09 Scaffolding Routes
10:08:14 Adding Validation
10:16:53 Handling Validation Errors
10:23:12 Surprising Complexity Around Errors
10:29:19 Other Sources of Errors
10:33:37 Solution for Error Handling
10:38:27 Building an Error Handling Middleware
10:46:05 Communicating More Info to the Error Handler
10:51:29 Encoding More Information In an Error
10:56:05 Subclassing for Custom Errors
11:04:22 Determining Error Type
11:07:33 Converting Errors to Responses
11:17:45 Moving Logic Into Errors
11:26:22 Verifying Our Custom Errors
11:34:57 Final Error Related Code
11:45:16 How to Define New Custom Errors
11:50:17 Uh Oh... Async Error Handling
Management and Modeling\
11:56:07 Creating Databases in Kubernetes