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

    this is standard approach actually nowadays, AWS ELB (Elastic Load Balancer) provides this feature as service, http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html, for example, you can specify a cookie name which will drive the distribution of requests.

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

 

posted @ 2016-10-09 16:15  qsort  阅读(372)  评论(0编辑  收藏  举报