Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай System Design for Interviews and Beyond, а также все другие курсы, прямо сейчас!
Премиум
  1. Урок 1. 00:03:59
    01 Introduction - Course Introduction
  2. Урок 2. 00:03:05
    02 Introduction - Who will benefit from the course and how
  3. Урок 3. 00:04:51
    03 Introduction - Course overview
  4. Урок 4. 00:06:04
    04 System requirements
  5. Урок 5. 00:04:39
    05 Functional requirements
  6. Урок 6. 00:10:01
    06 High availability
  7. Урок 7. 00:08:24
    07 Fault tolerance, resilience, reliability
  8. Урок 8. 00:06:17
    08 Scalability
  9. Урок 9. 00:09:30
    09 Performance
  10. Урок 10. 00:09:13
    10 Durability
  11. Урок 11. 00:10:37
    11 Consistency
  12. Урок 12. 00:09:36
    12 Maintainability, security, cost
  13. Урок 13. 00:02:11
    13 Summary of system requirements
  14. Урок 14. 00:08:53
    14 Regions, availability zones, data centers, servers
  15. Урок 15. 00:07:47
    15 Physical servers, virtual machines, containers, serverless
  16. Урок 16. 00:03:30
    16 Synchronous vs asynchronous communication
  17. Урок 17. 00:06:28
    17 Asynchronous messaging patterns
  18. Урок 18. 00:07:33
    18 Network protocols
  19. Урок 19. 00:10:41
    19 Blocking vs non-blocking IO
  20. Урок 20. 00:06:45
    20 Data encoding formats
  21. Урок 21. 00:03:01
    21 Message acknoledgement
  22. Урок 22. 00:07:46
    22 Deduplication cache
  23. Урок 23. 00:06:01
    23 Metadata cache
  24. Урок 24. 00:03:31
    24 Queue
  25. Урок 25. 00:09:56
    25 Full and empty queue problems
  26. Урок 26. 00:01:39
    26 Start with something simple
  27. Урок 27. 00:04:05
    27 Blocking queue and producer-consumer pattern
  28. Урок 28. 00:05:34
    28 Thread pool
  29. Урок 29. 00:03:48
    29 Big compute architecture
  30. Урок 30. 00:05:00
    30 Log
  31. Урок 31. 00:04:02
    31 Data store internals - Index
  32. Урок 32. 00:03:10
    32 Data store internals - Time series data
  33. Урок 33. 00:05:27
    33 Data store internals - Simple key-value database
  34. Урок 34. 00:05:55
    34 Data store internals - B-tree index
  35. Урок 35. 00:04:05
    35 Data store internals - Embedded database
  36. Урок 36. 00:06:19
    36 Data store internals - RocksDB
  37. Урок 37. 00:04:37
    37 Data store internals - LSM-tree and B-tree
  38. Урок 38. 00:07:16
    38 Data store internals - Page cache
  39. Урок 39. 00:04:06
    39 Push vs pull
  40. Урок 40. 00:08:47
    40 Host discovery
  41. Урок 41. 00:06:32
    41 Service discovery
  42. Урок 42. 00:09:05
    42 Peer discovery
  43. Урок 43. 00:07:42
    43 How to choose a network protocol
  44. Урок 44. 00:09:53
    44 Network protocols in real-life systems
  45. Урок 45. 00:07:20
    45 Video over HTTP
  46. Урок 46. 00:05:15
    46 CDN
  47. Урок 47. 00:08:04
    47 Push and pull technologies
  48. Урок 48. 00:06:25
    48 Push and pull technologies in real-life systems
  49. Урок 49. 00:08:54
    49 Large-scale push architectures
  50. Урок 50. 00:04:58
    50 What else to know to build reliable, scalable, and fast systems
  51. Урок 51. 00:03:35
    51 How to deliver data reliably - Timeouts
  52. Урок 52. 00:05:40
    52 How to deliver data reliably - What to do with failed requests
  53. Урок 53. 00:06:21
    53 How to deliver data reliably - When to retry
  54. Урок 54. 00:03:49
    54 How to deliver data reliably - How to retry
  55. Урок 55. 00:06:51
    55 How to deliver data reliably - Message delivery guarantees
  56. Урок 56. 00:08:08
    56 How to deliver data reliably - Consumer offsets
  57. Урок 57. 00:07:25
    57 How to deliver data quickly - Batching
  58. Урок 58. 00:04:23
    58 How to deliver data quickly - Compression
  59. Урок 59. 00:08:07
    59 How to deliver data at large scale - How to scale message consumption
  60. Урок 60. 00:05:03
    60 How to deliver data at large scale - Partitioning in real-life systems
  61. Урок 61. 00:06:03
    61 How to deliver data at large scale - Partitioning strategies
  62. Урок 62. 00:06:28
    62 How to deliver data at large scale - Request routing
  63. Урок 63. 00:07:46
    63 How to deliver data at large scale - Rebalancing partitions
  64. Урок 64. 00:09:58
    64 How to deliver data at large scale - Consistent hashing
  65. Урок 65. 00:02:14
    65 How to protect servers from clients - System overload
  66. Урок 66. 00:04:38
    66 How to protect servers from clients - Autoscaling
  67. Урок 67. 00:05:10
    67 How to protect servers from clients - Autoscaling system design
  68. Урок 68. 00:09:11
    68 How to protect servers from clients - Load shedding
  69. Урок 69. 00:11:48
    69 How to protect servers from clients - Rate limiting
  70. Урок 70. 00:07:25
    70 How to protect clients from servers - Synchronous and asynchronous clients
  71. Урок 71. 00:04:08
    71 How to protect clients from servers - Circuit breaker
  72. Урок 72. 00:07:32
    72 How to protect clients from servers - Fail-fast design principle
  73. Урок 73. 00:04:57
    73 How to protect clients from servers - Bulkhead
  74. Урок 74. 00:07:27
    74 How to protect clients from servers - Shuffle sharding
  75. Урок 75. 00:00:41
    75 Epilogue - The end (but not quite