System Design Building Blocks Год выпуска: 2023 Производитель: Udemy Сайт производителя: https://www.udemy.com/course/system-design-building-blocks/ Продолжительность: 3h 48m Тип раздаваемого материала: Видеоурок Язык: Английский Описание: This course is designed to provide a comprehensive understanding of the key building blocks of system design. The course will cover various topics such as basic web architecture, database design, replication, sharding, load balancing, caching, CAP theorem, back-end estimation, message queues, consistent hashing, key-value store, template to approach system design interviews, rate limiter, and unique ID generator.The course will begin with an introduction to the basic web architecture, including the client-server model, HTTP protocol, and web servers. Students will learn about the various components of a web application, such as the front-end, back-end, and database, and how they interact with each other.The course will then delve into database design, including topics such as data modeling, normalization, and denormalization. Students will also learn about database replication, sharding, and how to scale a database horizontally and vertically.Next, students will explore load balancing and caching, which are essential components of a high-traffic web application. They will learn load balancer and differnt caching strategies, including content delivery networks (CDNs).The course will also cover the CAP theorem, which is a fundamental principle of distributed systems. Students will learn about the trade-offs between consistency, availability, and partition tolerance in a distributed system.Students will then dive into back-end estimation, which is a crucial aspect of system design. They will learn about techniques for estimating the number of servers required to handle a given amount of traffic.The course will also cover message queues and how they can be used to decouple different parts of a system. Students will learn about the advantages of message queues and how they can be used to handle large volumes of data.Next, students will explore consistent hashing, which is a technique used for partitioning data across multiple servers. Students will learn about the advantages of consistent hashing and how it can be used to handle large amounts of data.The course will also cover key-value stores, which are databases that store data in a key-value format. Students will learn about the advantages of key-value stores and how they can be used to store large amounts of data.In addition, the course will provide students with a template to approach system design interviews. They will learn about the key components of a system design interview and how to prepare for it.Finally, the course will cover rate limiter and unique ID generator, which are important components of a scalable system. Students will learn about different rate-limiting strategies and how to generate unique IDs in a distributed system.Overall, this course will provide students with a comprehensive understanding of the key building blocks of system design, which will be useful for anyone interested in building scalable web applications.
Содержание
Section 1: Building Blocks Lecture 1 How basic web app works ? Lecture 2 Database Lecture 3 Load Balancer Lecture 4 DB Replication Lecture 5 Cache Lecture 6 CDN Lecture 7 Stateless Web Tier Lecture 8 Message Queue Lecture 9 Logging & Metrics Lecture 10 Sharding Lecture 11 Back of Envelop Estimation Lecture 12 CAP Theorem Lecture 13 Summary Section 2: Consistent Hashing Lecture 14 Introduction to Consistent Hashing Lecture 15 Rehashing Problem Lecture 16 How consistent hashing works ? Lecture 17 Two Problems Lecture 18 Virtual Nodes Lecture 19 Finding affected keys Lecture 20 Summary Section 3: Key Value Store Lecture 21 Introduction Lecture 22 Data Partition & Replication Lecture 23 Consistency Lecture 24 Inconsistency Resoultion Lecture 25 Handling Failures Lecture 26 System Architecture Lecture 27 Write Path Lecture 28 Read Path Lecture 29 Wrap Up Section 4: Template to Approach System Design Problems Lecture 30 Introduction Lecture 31 Step 1 : Understand Problem Lecture 32 Step 2: Propose HLD & get nod on it Lecture 33 Step 3 : Deep Dive in Design Lecture 34 Step 4 : Wrap Up Lecture 35 Do's & Don't Section 5: Design Rate Limiter Lecture 36 Introduction Lecture 37 Understanding Requirements Lecture 38 Propose HLD & get nod on it Lecture 39 Token Bucket Algo Lecture 40 Leaky Bucket Algo Lecture 41 Fixed Window Counter Algo Lecture 42 Sliding Window Log Algo Lecture 43 Sliding Window Counter Algo Lecture 44 High Level Design Lecture 45 Deep Dive - Detail Design Lecture 46 Distributive Rate Limiter Lecture 47 Wrapping Up Section 6: Design Unique ID Generator Lecture 48 Introduction Lecture 49 Understanding the requirements Lecture 50 Propose HLD & suggest Multi Master Replication approach Lecture 51 UUID approach Lecture 52 Ticket Server approach Lecture 53 Twitter Snowflake approach Lecture 54 Deep Dive Lecture 55 Wrapping Up
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum