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