Tags
Language
Tags
June 2025
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Fundamentals Of Backend Communications And Protocols

    Posted By: ELK1nG
    Fundamentals Of Backend Communications And Protocols

    Fundamentals Of Backend Communications And Protocols
    Published 11/2022
    MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
    Language: English | Size: 12.40 GB | Duration: 14h 51m

    Understand backend communication design patterns, protocols, execution and proxying

    What you'll learn
    Learn the fundamentals of backend engineering
    Backend communication design patterns
    Understand how backend communication protocols work
    Comprehend how OS Kernel communicate with Backend Applications
    Operating System fundamentals (Thread, Process, async IO in linux)
    Learn HTTP/1.1, HTTP/2, HTTP/3
    Learn gRPC, WebRTC, WebSockets
    Learn TLS 1.2, TLS 1.3, QUIC 0RTT
    Requirements
    Intermediate programming skills (1-2 years)
    Having built a backend application
    Basic network fundamentals
    Description
    Backend engineering is an art. During my 18 years career working with and building backend applications, I discovered certain communication design patterns keep emerging. There are only handful of ways clients communicate with backend applications, although they might be more, I believe the patterns I discuss in this course are the most common. Examples of these patterns are request-response, publish-subscribe, short and long and push.Based on these communication design patterns, engineers may use a number of protocols for concrete communication. While the fundemental protocols boils down to either TCP or UDP, tons of industry specific protocols are built on top of these two to address certain problems. Examples of these high level protocols are HTTP/1.1, HTTP/2, HTTP/3, QUIC, gRPC, WebRTC and many more. Each protocol has its pros and cons and fits certain use cases. In the course, I discuss the top common protocols and provide examples and demos where applicable.Once the request reaches the backend, the application has to execute the request. The backend has a buffet of design choices when it comes to the style of execution it can choose. Understanding the difference between a process and a thread, multi-process, multi-threaded and the correlation to the number of CPU cores or hardware threads is crucial to pick the right execution pattern. One does not have to stick with these patterns but can invent new ones that suits their needs.This course is designed for engineers who have built backend applications, it is an intermediate — advance level course, certain programming and networking knowledge is required so I recommend taking my fundamentals of network engineering course before taking this course if you don’t have the networking skills. I hope you enjoy this course, and thank you so much for considering it.

    Overview

    Section 1: Introduction

    Lecture 1 Welcome

    Lecture 2 Who is this course for?

    Lecture 3 Course Outline

    Lecture 4 Download all slides, source code and references

    Section 2: Backend Communication Design Patterns

    Lecture 5 Backend Communication Design Patterns Intro

    Lecture 6 Request Response

    Lecture 7 Synchronous vs Asynchronous workloads

    Lecture 8 Push

    Lecture 9 Polling

    Lecture 10 Long Polling

    Lecture 11 Server Sent Events

    Lecture 12 Publish Subscribe (Pub/Sub)

    Lecture 13 Multiplexing vs Demultiplexing (h2 proxying vs Connection Pooling)

    Lecture 14 Stateful vs Stateless

    Lecture 15 Sidecar Pattern

    Section 3: Protocols

    Lecture 16 Protocols Intro

    Lecture 17 Protocol Properties

    Lecture 18 OSI Model

    Lecture 19 Internet Protocol

    Lecture 20 UDP

    Lecture 21 TCP

    Lecture 22 TLS

    Lecture 23 HTTP/1.1

    Lecture 24 WebSockets

    Lecture 25 HTTP/2

    Lecture 26 HTTP/3

    Lecture 27 gRPC

    Lecture 28 WebRTC

    Section 4: Many ways to HTTPS

    Lecture 29 HTTPS Communication Basics Intro

    Lecture 30 HTTPS over TCP with TLS 1.2

    Lecture 31 HTTPS over TCP with TLS 1.3

    Lecture 32 HTTPS over QUIC (HTTP/3)

    Lecture 33 HTTPS over TFO with TLS 1.3

    Lecture 34 HTTPS over TCP with TLS 1.3 and 0RTT

    Lecture 35 HTTPS over QUIC with 0RTT

    Section 5: Backend Execution Patterns

    Lecture 36 Backend Execution Patterns Intro

    Lecture 37 The Process and The Thread and how they compete for CPU time

    Lecture 38 How The Backend Accepts Connections

    Lecture 39 Reading and Sending Socket Data

    Lecture 40 The Listener, The Acceptor and the Reader

    Lecture 41 Single Listener, Acceptor and Reader Thread Execution Pattern

    Lecture 42 Single Listener, Acceptor and Multiple Readers Thread Execution Pattern

    Lecture 43 Single Listener, Acceptor, Reader with Message Load Balancing Execution Pattern

    Lecture 44 Multiple Accepter Threads on a Single Socket Execution Pattern

    Lecture 45 Multiple Listeners, Acceptors and Readers with Socket Sharding Execution Pattern

    Lecture 46 Backend Idempotency

    Lecture 47 Nagle's Algorithm

    Section 6: Proxying and Load Balancing

    Lecture 48 Proxy vs Reverse Proxy

    Lecture 49 Layer 4 vs Layer 7 Load Balancers

    Backend Engineers,FullStack Engineers,Frontend Engineers interested in the Backend (must have built a backend app),Network engineers who want to get better at backend design,Site reliability engineers