Strømmetjenesten Netflix skriver i sin teknologiblogg om at de planlegger en omfattende overhaling av strømme-arkitekturen som gjør at millioner kan benytte seg av den allerede ganske så velfungerende funksjonaliteten.
Den underliggende arkitekturen hos Netflix fokuserer på tre elementer som kombinert skal sørge for en sømløs og funksjonell tjeneste.
Systemet skal først måtte huske alt abonnenten har sett på så lenge deres abonnement varer. Disse dataene driver forslagsalgoritmene til Netflix, samt oversikten over nylig sett innhold. Det er disse dataene som også sørger for eventuelle fremtidige innkjøp og andre nyheter.
Det andre punktet er å alltid huske hvor abonnenten har stoppet å se på en film eller episode. Dette skal gjelde uansett enhet.
Det tredje er mest relevant for de som deler abonnement med andre familiemedlemmer – systemet er nødt til å vite hva som blir sett på samtidig.
Dagens Netflix bruker en eldre databaseløsning som ble utviklet for å levere lavest mulig forsinkelse og håndtere millioner av medlemmer. Denne løsningen har jevnlig blitt skalert oppover i løpet av de siste tre årene. Systemet har oversikt over alle aktiviteter til medlemmene og kan reagere på disse i sanntid. Tjenesten bruker Cassandra-arkitekturen som i hovedsak tar seg av primær datalagring, samt Memcached-arkitekturen for visning av data. Samtidig vedgår Netflix at løsningen er mer kompleks og mindre robust enn andre løsninger som er tilgjengelige, og at dette oppsettet har ført til ustabiliteter.
Spesifikt er ikke Memcached-løsningen ideell for behovene til Netflix.
Derfor skal det nå tenkes gjennom det grunnleggende. Redesignet av arkitekturen skal bygge på tre prinsipper: Tilgjengelighet fremfor konsekvens, mikrotjenester (komponenter som tidligere var kombinert, men som bør bli delt opp som tjenester), samt peristens-teknologier som skal øke fleksibilitet og ytelse. Cassandra-arkitekturen skal fremdeles brukes, i tillegg til Redis-systemet for caching.
Netflix forteller at utrullingen av den nye arkitekturen kommer til å ta lang tid, med mange måneders utvikling, testing og migrering, men resultatet vil bli nestegenerasjonsstrømming som vil kunne enkelt skaleres med veksten. Mer informasjon loves fremover.
Leave a Reply