系统设计
Client—Server Model
A client is a thing that talks to servers. A server is a thing that talks to clients. The client—server model is a thing made up of a bunch of clients and servers talking to one another.
Network Protocols
IP packets. TCP headers. HTTP requests.
As daunting as they may seem, these low-level networking concepts are essential to understanding how machines in a system communicate with one another. And as we all know, proper communication is key for thriving relationships!
Storage
An entire video dedicated just to the storage of data?
Yes! Multiple videos, in fact, as you’ll see later on when we discuss databases. As it turns out, information storage is an incredibly complex topic that is of vital importance to systems design.
Don’t even think of skipping this lesson!
Latency And Throughput
If you’ve ever experienced lag in a video game, it was most likely due to a combination of high latency and low throughput. And lag sucks.
It is therefore your Call of Duty to master these two concepts and to join the crusade against high ping.
Availability
Caching
Proxies
Often used by nefarious hackers to conceal their identity and obfuscate their location, these special intermediary servers boast many important real-life applications within the context of caching, access control, and censorship bypassing, amongst other things.
Load Balancers
Relentlessly distributing network requests across multiple servers, these digital traffic cops act as watchful guardians for your system, ensuring that it operates at peak performance day and night.