Wednesday, August 27, 2014

Distributed system design

  1. ACP in 12 years
  2. Memcached
    1. Distributed in-memory key-value store for small chunks of arbitrary data
    2. Membase, later changed to CouchDB
    3. Caveat:
      1. Volatile due to eviction, full, service crashing
      2. Too many items may cause thrashing
      3. Non-transactional
  3. UDP vs TCP
    1. UDP is connection-less protocol and faster than TCP, especially when occasional loss is not a big issue such as video stream, VoIP. UDP is very good for pub-sub used in Tibco. Good for heartbeat too. Packages may arrive out of order. Package based
    2. TCP has very huge overhead for handshaking and is bytestream based, therefore merging them back is a big overhead. Point-to-point connection has to be maintained
    3. http://stackoverflow.com/questions/1099672/when-is-it-appropriate-to-use-udp-instead-of-tcp
  4. Scatter-gather IO
    1. readv, writev
    2. facebook uses it cut down CPU by 50%
  5. Tinyurl

No comments:

Post a Comment