The Backend Engineering Show with Hussein Nasser

The Backend Engineering Show with Hussein Nasser

By Hussein NasserTechnology
Download on the App Store

The Backend Engineering Show with Hussein Nasser episodes

  • Kafka Consumer Group is a Brilliant Design Choice and We should Discuss it

    Apache Kafka is an interesting software, every design decision the team makes perfect sense. I decided to dive deep into the discussion of the consumer group concept which is underrated and talk more about it.

    0:00 Intro

    1:24 Messaging Systems Explained

    3:30 Partitioning

    4:30 Pub/Sub vs Queue

    6:55 Consumer Group

    10:00 Parallelism in Consumer Group

    10:30 Partition awareness in Consumer Group

    11:30 Achieving Pub/Sub with Consumer Group

    14:00 Head of Line blocking in Kafka

    22 min
  • Is there a Limit to Number TCP Connections a Backend can handle?

    Someone asked me a question and I felt its interesting to make a video about, is there a limit to the maximum number of TCP connections a Client can make to the server? If there is what is it? and how does that make sense in all the configurations?

    0:00 Intro

    1:00 Is there a Max Connection Limit?

    4:30 64K Connection Limit Explained

    7:20 Max Connections on Reverse Proxies and Max Connections

    14:30 How does Router get around Max Connections?

    7:00 3 million whatsapp https://www.youtube.com/watch?v=vQ5o4wPvUXg

    10:25 envoy https://www.youtube.com/watch?v=40gKzHQWgP0&

    12:50 google https://www.youtube.com/watch?v=CUiBVTcgvBU

    14:00 Active Active https://www.youtube.com/watch?v=d-Bfi5qywFo

    20 min
  • Doordash moves their Backend to Apache Kafka from RabbitMQ, VERY interesting! Let us discuss it!

    Doordash the food delivery service has built an asynchronous task processing backend with Celery and RabbitMQ. They are having lots of outages and problems. Let us discuss how they solved their problem by moving to Apache Kafka.

    Very well written article.

    Resource

    https://doordash.engineering/2020/09/03/eliminating-task-processing-outages-with-kafka/

    https://www.rabbitmq.com/connections.html#high-connection-churn

     

    32 min
  • Why Application-Layer Protocol Negotiation is Critical for HTTP/2 Backends

    Application-Layer Protocol Negotiation (ALPN) is a Transport Layer Security (TLS) extension that allows the application layer to negotiate which protocol should be performed over a secure connection in a manner that avoids additional round trips and which is independent of the application-layer protocols. It is needed by secure HTTP/2 connections, which improves the compression of web pages and reduces their latency compared to HTTP/1.x. The ALPN and HTTP/2 standards emerged from development work done by Google on the now withdrawn SPDY protocol.

    https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation

    1:30 TCP Handshake

    1:40 TLS

    8 min
  • When to use UDP vs TCP in Building a Backend Application?

    In this video I explain when to use TCP vs UDP as a communication protocol on your backend app. I go through the advantages and disadvantages of UDP I also discuss the protocol within the context of Chatting System, Multiplayer game, and building a browser and a web server   0:00 Intro 2:00 UDP 3:00 TCP 6:00 UDP vs TCP for Building a Chatting System  9:20 UDP vs TCP for Building a Multiplayer game  15:30 UDP vs TCP for Building a Browser and WebServer 19:11 Summary

    22 min
  • Your Backend Might not Be Ready for HTTP/2 - Watch This Before Implementing it

    HTTP/2 is a protocol that allows multiplexing which can be very beneficial however HTTP/2 is not always cheap and might not be a good choice for your backend.

    * Intro 0:00

    * What is HTTP/2 ? 1:30

    * HTTP/2 Pros 5:10

    * HTTP/2 Advantages on Browsers 5:30

    * HTTP/2 Advantages on Reverse Proxy Connection Pooling 9:20

    * HTTP/2 Problem 11:00

    Google Talk https://www.youtube.com/watch?v=xxN4FfwaANk

    18 min
  • Envoy Proxy Crash Course, Architecture, L7 & L4 Proxying, HTTP/2, Enabling TLS 1.2/1.3 and more

    Envoy is an open-source L7 proxy and communication bus Originally built at Lyft to move their architecture away from a monolith.

    In this video, I want to go through the following

    * What is Envoy? 0:00

    * Current & Desired Architecture 0:48

    * Envoy Architeture 3:00

    * DownStream/Upstream 7:30

    * Clusters 9:19

    * Listeners 10:50

    * Network Filters 11:50

    * Connection Pools 13:45

    * Threading Model 18:34

    * Example 21:25

    * Show the 4 apps 24:30

    * Install Envoy Brew 26:00

    *  https://www.getenvoy.io/install/envoy/macos/

    * Envoy as a Layer 7 Proxy 27:30

    * Proxy to all 4 backend NodeJS services 28:00

    * Split load to multiple backends (app1/app2) 40:00

    * Block certain requests (/admin) 45:30

    * Envoy as a Layer 4 Proxy (tcp router) 47:50

    * Create DNS record 54:00

    * Enable HTTPS on Envoy (lets encrypt) 55:30

    * Enable HTTP/2 on Envoy 1:03:00

    * Disable 1.1/1.0 Enable TLS 1.2 and TLS 1.3 ONLY on Envoy 1:04:30

    * SSL Labs test 1:06:40

    * Summary 1:07:24

    Config

    https://github.com/hnasr/javascript_playground/tree/master/envoy

    Resources

    https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/intro/terminology

    https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/connection_pooling#arch-overview-conn-pool

    🏭 Backend Engineering Videos

    https://www.youtube.com/playlist?list=PLQnljOFTspQUNnO4p00ua_C5mKTfldiYT

    💾 Database Engineering Videos

    https://www.youtube.com/playlist?list=PLQnljOFTspQXjD0HOzN7P2tgzu7scWpl2

    🛰 Network Engineering Videos

    https://www.youtube.com/playlist?list=PLQnljOFTspQUBSgBXilKhRMJ1ACqr7pTr

    🏰 Load Balancing and Proxies Videos

    https://www.youtube.com/playlist?list=PLQnljOFTspQVMeBmWI2AhxULWEeo7AaMC

    🐘 Postgres Videos

    https://www.youtube.com/playlist?list=PLQnljOFTspQWGrOqslniFlRcwxyY94cjj

    🚢Docker

    https://www.youtube.com/playlist?list=PLQnljOFTspQWsD-rakNw1C20c1JI8UR1r

    🧮 Programming Pattern Videos

    https://www.youtube.com/playlist?list=PLQnljOFTspQV1emqxKbcP5esAf4zpqWpe

    🛡 Web Security Videos

    https://www.youtube.com/playlist?list=PLQnljOFTspQU3YDMRSMvzflh_qXoz9zfv

    🦠 HTTP Videos

    https://www.youtube.com/playlist?list=PLQnljOFTspQU6zO0drAYHFtkkyfNJw1IO

    🐍 Python Videos

    https://www.youtube.com/playlist?list=PLQnljOFTspQU_M83ARz8mDdr4LThzkBKX

    🔆 Javascript Videos

    https://www.youtube.com/playlist?list=PLQnljOFTspQWab0g3W6ZaDM6_Buh20EWM

    👾Discord Server https://discord.gg/CsFbFce

    Become a Member

    https://www.youtube.com/channel/UC_ML5xP23TOWKUcc-oAE_Eg/join

    Support me on PayPal

    https://bit.ly/33ENps4

    Become a Patreon

    https://www.patreon.com/join/hnasr?

    Stay Awesome,

    Hussein

    1 hr 14 min
  • Cloudflare fixes a HUGE limitation in HTTP/2 implementation of NGINX - This should be ported to all proxies
    Cloudflare is doing fantastic job to the web community security and backend engineering. This latest fix is awesome it is the ability to auto-tune window size buffer when it comes to uploading HTTP/2 traffic.
    Article
    https://blog.cloudflare.com/delivering-http-2-upload-speed-improvements/
    4:15 slow tcp start https://www.youtube.com/watch?v=rgPcxg8gjho&t=1s
    5:40 HTTP crash course https://www.youtube.com/watch?v=0OrmKCB0UrQ&t=4s
    6:20 TCP crash course https://www.youtube.com/watch?v=qqRYkcta6IE
    12:20 Bandwidth bideo https://www.youtube.com/watch?v=6Tf80mbhyAQ
    17 min

About The Backend Engineering Show with Hussein Nasser

From the publisher's feed

Welcome to the Backend Engineering Show podcast with your host Hussein Nasser. If you like software engineering you’ve come to the right place. I discuss all sorts of software engineering technologies and news with specific focus on the backend. All opinions are my own.

More shows like The Backend Engineering Show with Hussein Nasser

Freakonomics Radio by Freakonomics Radio + Stitcher

Freakonomics Radio

31,929 Listeners

Software Engineering Radio - the podcast for professional software developers by team@se-radio.net (SE-Radio Team)

Software Engineering Radio - the podcast for professional software developers

274 Listeners

Risky Business by Risky Business Media

Risky Business

373 Listeners

Science Vs by Spotify Studios

Science Vs

12,159 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

987 Listeners

Darknet Diaries by Jack Rhysider

Darknet Diaries

8,070 Listeners

Practical AI by Daniel Whitenack and Chris Benson

Practical AI

210 Listeners

Within Reason by Alex J O'Connor

Within Reason

1,626 Listeners

All-In with Chamath, Jason, Sacks & Friedberg by All-In Podcast, LLC

All-In with Chamath, Jason, Sacks & Friedberg

10,106 Listeners

Dwarkesh Podcast by Dwarkesh Patel

Dwarkesh Podcast

550 Listeners

Big Technology Podcast by Alex Kantrowitz

Big Technology Podcast

513 Listeners

Hard Fork by The New York Times

Hard Fork

5,565 Listeners

The AI Daily Brief: Artificial Intelligence News and Analysis by Nathaniel Whittemore

The AI Daily Brief: Artificial Intelligence News and Analysis

671 Listeners

Prof G Markets by Vox Media Podcast Network

Prof G Markets

1,439 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

74 Listeners