
Sign up to save your podcasts
Or


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
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
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
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
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
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
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
Envoy Proxy is an L3/L4 Proxy that is designed to be service mesh, In this video, I discuss my initial thoughts about the product, design choices, and much more. The actual full video on Envoy will be coming soon stay tuned.
From the publisher's feed

31,929 Listeners

274 Listeners

373 Listeners

12,159 Listeners

987 Listeners

8,070 Listeners

210 Listeners

1,626 Listeners

10,106 Listeners

550 Listeners

513 Listeners

5,565 Listeners

671 Listeners

1,439 Listeners

74 Listeners