spotify guest

Upload: rip-empson

Post on 05-Apr-2018

251 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 Spotify Guest

    1/70

    Distributed Systems

    Jon slund@jooon

  • 8/2/2019 Spotify Guest

    2/70

    Who am I?

  • 8/2/2019 Spotify Guest

    3/70

    Jon slund

  • 8/2/2019 Spotify Guest

    4/70

    Sweden

  • 8/2/2019 Spotify Guest

    5/70

    Computer Science

  • 8/2/2019 Spotify Guest

    6/70

  • 8/2/2019 Spotify Guest

    7/70

    Shakespeare

    ProgrammingLanguage

  • 8/2/2019 Spotify Guest

    8/70

    Joined SpotifyAutumn 2006

  • 8/2/2019 Spotify Guest

    9/70

    April 2006the idea

  • 8/2/2019 Spotify Guest

    10/70

  • 8/2/2019 Spotify Guest

    11/70

  • 8/2/2019 Spotify Guest

    12/70

    music itself is going to become

    like running water or electricityDavid Bowie, 2002

  • 8/2/2019 Spotify Guest

    13/70

  • 8/2/2019 Spotify Guest

    14/70

  • 8/2/2019 Spotify Guest

    15/70

  • 8/2/2019 Spotify Guest

    16/70

    Spotify Box

    Spotify Box Jordi Parra @zenona

  • 8/2/2019 Spotify Guest

    17/70

    February 2012

  • 8/2/2019 Spotify Guest

    18/70

    10+ million users(active within previous 30 days)

  • 8/2/2019 Spotify Guest

    19/70

    15+ million tracks

  • 8/2/2019 Spotify Guest

    20/70

    500+ million playlists

  • 8/2/2019 Spotify Guest

    21/70

    1000+ serversin 3 countries

  • 8/2/2019 Spotify Guest

    22/70

    Spotify is a distributedsystem

  • 8/2/2019 Spotify Guest

    23/70

    Fast

  • 8/2/2019 Spotify Guest

    24/70

    Always working

  • 8/2/2019 Spotify Guest

    25/70

    How do youaccomplish that?

  • 8/2/2019 Spotify Guest

    26/70

    Cheatas much as possible

  • 8/2/2019 Spotify Guest

    27/70

    Fast

    vsFeels fast

  • 8/2/2019 Spotify Guest

    28/70

    Always working

    vsPretend there is

    nothing wrong

  • 8/2/2019 Spotify Guest

    29/70

    Build to fail

  • 8/2/2019 Spotify Guest

    30/70

    Redundancy(talk about waffles)

  • 8/2/2019 Spotify Guest

    31/70

    Error recovery

  • 8/2/2019 Spotify Guest

    32/70

    Don't forget to testyour recovery code

  • 8/2/2019 Spotify Guest

    33/70

    Fire drill: Cut theatlantic cable

  • 8/2/2019 Spotify Guest

    34/70

    NetflixChaos Monkey

  • 8/2/2019 Spotify Guest

    35/70

    On January 15, 1990,AT&Ts long-distancetelephone switching systemcrashed.

  • 8/2/2019 Spotify Guest

    36/70

    Isolation

    G tti th i ht t l

  • 8/2/2019 Spotify Guest

    37/70

    Getting the right tool

    for the job

  • 8/2/2019 Spotify Guest

    38/70

  • 8/2/2019 Spotify Guest

    39/70

  • 8/2/2019 Spotify Guest

    40/70

    Consistency

    AvailabilityPartition tolerance

    http://ksat.me/a-plain-english-introduction-to-cap-theorem/

    http://ksat.me/a-plain-english-introduction-to-cap-theorem/http://ksat.me/a-plain-english-introduction-to-cap-theorem/
  • 8/2/2019 Spotify Guest

    41/70

  • 8/2/2019 Spotify Guest

    42/70

    user

    user

  • 8/2/2019 Spotify Guest

    43/70

    PostgreSQL

    user

    user

  • 8/2/2019 Spotify Guest

    44/70

    user

  • 8/2/2019 Spotify Guest

    45/70

    search

    search

  • 8/2/2019 Spotify Guest

    46/70

    Lucene index inmemory

    search

    search

  • 8/2/2019 Spotify Guest

    47/70

    replaced daily

    search

    search

  • 8/2/2019 Spotify Guest

    48/70

    read only

    search

    search

  • 8/2/2019 Spotify Guest

    49/70

    scales horizontally

    search

    search

  • 8/2/2019 Spotify Guest

    50/70

    sort of

    search

    search

  • 8/2/2019 Spotify Guest

    51/70

    How do you replace an

    index in memory whenyou are using all of it?

    search

  • 8/2/2019 Spotify Guest

    52/70

    storage

    storage

  • 8/2/2019 Spotify Guest

    53/70

    storage

    storage

  • 8/2/2019 Spotify Guest

    54/70

    sto age

    lru cache in nginx

    storage

  • 8/2/2019 Spotify Guest

    55/70

    g

    better use of memorywith sharding

  • 8/2/2019 Spotify Guest

    56/70

    storage

  • 8/2/2019 Spotify Guest

    57/70

    g

    consistent hashing

  • 8/2/2019 Spotify Guest

    58/70

    playlist

    playlist

  • 8/2/2019 Spotify Guest

    59/70

    cassandra

    p y

    playlist

  • 8/2/2019 Spotify Guest

    60/70

    structured key-valuestore

    p y

    playlist

  • 8/2/2019 Spotify Guest

    61/70

    high throughput

    p y

    playlist

  • 8/2/2019 Spotify Guest

    62/70

    choose redundancy andconsistency level

    p y

    playlist

  • 8/2/2019 Spotify Guest

    63/70

    datacentre aware

    p y

  • 8/2/2019 Spotify Guest

    64/70

    p2p

  • 8/2/2019 Spotify Guest

    65/70

    p2p

  • 8/2/2019 Spotify Guest

    66/70

    thank you

  • 8/2/2019 Spotify Guest

    67/70

    Master Thesis?

  • 8/2/2019 Spotify Guest

    68/70

    Yes, please!

  • 8/2/2019 Spotify Guest

    69/70

    or come and work for us

    Oh and

  • 8/2/2019 Spotify Guest

    70/70

    Oh, and

    we havecake as

    well! :D

    spotify.com/jobs