Week 11: Content Delivery
Terms you should know
Paul Krzyzanowski
April 15, 2021
Content Delivery Networks
- Flash crowd problem, slashdot effect
- Network edge
- Caching
- Caching proxy
- Benefits of load balancer
- Multihoming
- Content Delivery Network (CDN)
- Push CDN vs. Pull CDN
- Overlay network
- Mapping system
- Dynamic DNS server
- Akamai domain name lookup
- Origin server
- Transport system
- Parent content servers vs. edge content servers
- Security benefits of a CDN
- Load shedding
- Adaptive bitrate coding (ABR)
Peer-to-Peer Content Delivery
- Gnutella
- Gnutella basic architecture
- Content publishing, search, download
- Forwarding loops
- Time to Live (TTL)
- How does Gnutella provide anonymity?
- Kazaa
- Supernodes vs. ordinary nodes
- Content publishing, search, download
- BitTorrent
- Purpose of
.torrent
file - Purpose of seed nodes
- Purpose of trackers
- Seeders vs. leechers
- Content publishing, search, download
- Purpose of
Kafka
- Purpose of Kafka
- Publishers (producers), subscribers (consumers)
- Role of message broker
- Topics
- Partitions & partitioned logs
- Durable logs
- Replicated logs: leaders and followers
- Consumers and consumer groups
- Scaling to handle higher message volumes
- Scaling to handle more processing workloads
- Queuing vs. publish-subscribe
Distributed Caching as a Service
- Purpose of a cache
- Memcached - basic role & deployment
- How a client locates the correct memcached server
- Eviction and expiration
- What servers know about each other
- You don’t need to know the commands
- Redis - basic role & deployment
- Main features added over memcached
- You don’t need to know data types but know that they are used
- Expiration and eviction
- Transactions
- Message broker service
- Range vs. hash partitioning