首页 > 代码库 > David Malan teaching CS75 lecture 9, Scalability

David Malan teaching CS75 lecture 9, Scalability

https://youtu.be/-W9F__D3oY4

 

Storage

  PATA, SATA, SAS (15,000 rpm), SSD,

  RAID0 : striping, double throughput / size, no redundancy; RAID1 : mirror; RAID2 : bit-level striping with parity, not used today; RAID3 : bit-level striping with dedicated parity drive, not used today; RAID4 : block-level striping with dedicated parity ; RAID5 : block-level striping with dedicated parity, single drive failure tolerance; RAID6 : block-level striping with double parity, two drive failure tolerance

  NAS, a file server, accessed through NFS, SMB etc.

  SAN, a virtual disk, accessed through iSCSI, Fiber Channel etc.

 

Vertical scaling

 

Horizontal scaling

  DNS round-robin load balancing, heavy vs. light requests

  load balancer

    Software-based LB: ELB, HAProxy, LVS etc.

    Hardware-based : F5, Cisco, Citrix etc.

  cookie/session affinity (sticky session)

    separate session server (e.g. a redis or MySQL server for hash table)

    LB inserts cookie content to remember backend-id

Caching

  DNS cache

  MySQL Query Cache

  memcached

 

Database Replication

  master / slave : and you can make master write-only, and slaves obviously read-only

  master / master - slave set up

 

Database Partitioning

  mit.facebook.com.

  LB, cross data center, geolocation distribution

 

David Malan teaching CS75 lecture 9, Scalability