Skalerbarhed Flashcards

1
Q

Hvad er skalering?

A

En computers eller netværk evne til at virke i takt med antallet af brugere stiger.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hvad er direkte kommunikation?

A

Når to parter taler direkte til hinanden, f.eks. bluetooth eller et kabel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Hvad er indirekte kommunikation?

A

Når to parter taler til hinanden via. et mellemled, f.eks. Facebook igennem en server.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Forklar Public Subscribe i forbindelse med indirekte kommunikation

A

Public subscribe er en måde at abonnere og distribuere data på.

  1. En publisher sender en besked
  2. Mellemleddet f.eks. en server modtager besked
  3. Mellemleddet sender beskeden ud til de subscribers, der er registreret til at modtage beskeden.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Forklar forskellen på http og websockets

A

http: Klienten skal spørge serveren om noget, for at få noget retur fra serveren. Forbindelse åbnes ved request, og lukkes når data er sendt tilbage.

Websockets: En server kan sende data til en klient uden, at klienten har spurgt først. Forbindelse er åben konstant.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hvilket begreb bruges om en besked, der sendes ud ti alle? (Hint: Oversvømmelse)

A

Flooding

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Nævn udfordringerne ved public subscribe

A
  1. Kræver mange ressourcer
  2. Skalering via. database, som ofte skal køre i et cluster
  3. Heartbeating (Når én enhed spørger en anden om den er vågen)
  4. Ofte implementeret via. websockets, men mange firewalls tillader ikke protokollen, hvorfor de fleste typisk bruger http.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hvad består et operativ system af?

A
  1. Applikationer
  2. Selve systemet
  3. Hardware
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hvad er message queus?

A

Det betyder at parkere noget et sted til senere brug.
En message que kan modtage beskeder og sende dem afsted enten en efter en eller parallelt for bedre udnyttelse af ressourcer på tværs af netværk.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hvilke fordele er der ved message queus?

A
  1. Det skaber asynkronitet, som betyder at klienterne skriftligt kan kommunikere sammen, men at der som oftest er en tidsforskydning i kommunikationen.
  2. Det skaber atomicitet: Enten lykkes det eller også lykkes det ikke.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Hvad er en computers kerne?

A

Det sted, som det hele foregår. Fungerer som koordinator og kommunikation for at få applikationer til at få adgang til computerens processor (CPU) eller hukommelse (RAM).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Hvad er en proces?

A

En proces er en opgave, igangsat af en applikation.
En proces har en hvis mængde ressourcer til rådighed (typisk %-andel af CPU).
Copy-on-write metoden gør, at en proces ikke bruger hukommelse, før det er nødvendigt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Hvad er tråde?

A

En tråd er et redskab en proces kan bruge til at afvikle en instruktion.
En proces indeholder altid en tråd, som er en slags instruktion, som processen skal udføre.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Hvad er virtualisering?

A

Form for distribuering af et system, som gør at man kan køre flere forskellige ting på sin server samtidigt. Køre flere forskellige ting på et server samtidigt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Forklar de tre metoder til distribueret schedulering

A
  1. First in, first out: Instruktionen afvikles i den rækkefølge, som de modtages i.
  2. Shortest time remaining: Instruktioner afvikles alt efter hvilke instruktioner, der tager kortest tid.
  3. Round robin: Giver alle instruktioner en del af den samlede CPU-tid. Hvis en instruktion ikke når at blive færdig indenfor tidsrammen, går den videre til næste instruktion.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Hvilket komponenter består Giant Scale Services af?

A
  • Klienter
  • Netværk
  • Load balancers
  • Servere
  • Fysiske datalag (Storage, hvor man kan gemme data i)
17
Q

Hvad er et cluster of workstations?

A

En samling af enheder/computer, der er forbundet til hinanden og taler med hinanden.

18
Q

Hvad er fordelene ved et cluster?

A
  1. Nemme at skalere både horisontalt og vertikalt
  2. Tilsammen er pålidelige (Høj fejltolerance)
  3. Relativt billige at bygge
19
Q

Hvad er ulemperne ved et cluster?

A
  1. Svært at veligeholde, da man skal holde styr på mange servere
  2. Det er ofte en udfordring for et cluster at få serverne til at blive enige om én værdi
20
Q

Hvad betyder soft state?

A

At gemme data, hvis en computer går ned.

21
Q

Hvad betyder fejltolerance?

A

Evnen til at håndtere fejl, hvis et system går ned.

22
Q

Hvordan kan blive fejltolerant?

A

Eksempelvis ved at spejle data flere forskellige steder, og dermed gøre data tilgængeligt fra forskellige kilder.

23
Q

Hvilke to metoder findes der til at gøre data tilgængeligt fra forskellige kilder?

A
  1. Replication: Data bliver kopieret fra database til database
  2. Sharding: Stort datasæt og opdeler det efter en egenskab i datasættet. F.eks. register over danskere. Her kan man opdele navnene alt efter dem, der starter med A-H, der lægges på én server, I-K etc.
24
Q

Hvad betyder et burst?

A

Når mange går ind på en service samtidig, dvs. når trafikken er høj på en side.

25
Q

Hvilken rolle har en load balancer?

A

Den fordeler trafikken fra klienten, og finder ud af hvilken server, der skal modtage denne trafik således, INGEN server har 100% CPU.

26
Q

Hvad betyder caching?

A

Kunsten af gemme noget, som man sender til nogen uden at opdatere det hver gang. Tænk Proxy server, der kan cache en hjemmeside.

27
Q

Giv et eller flere eksempler på Giant Scale Services

A

Google, Facebook, Amazon etc.

28
Q

Kan man skalere en bærbar computer?

A

Ja, man kan skalere vertikalt ved at sætte flere RAM i, udskifte harddisken etc.

29
Q

Kan man skalere en server?

A

Ja, man kan skalere vertikalt ved at sætte flere RAM i, udskifte harddisken etc.

30
Q

Hvad er vertikal skalering?

A

Når man opgraderer en computer ved at give den en større processor, mere hukommelse (RAM) etc. Dvs. man skalere den ene enhed, man har.

31
Q

Hvad er horisontal skalering?

A

Når man opgraderer en service ved at sætte to eller flere servere sammen i et cluster. Dvs. man udvider til flere enheder.

32
Q

Kan man blive ved med at skalere vertikalt?

A

Nej, der er maximum på f.eks. antal RAM i en computer.

33
Q

Kan man blive ved med at skalere horisontalt?

A

Det kan man godt, da man kan tilføje flere servere til en cluster, men husk på, at de skal koordineres med samme værdi, som er sværere jo flere servere, man har.

34
Q

Forklar Brewer’s theorem

A

Består af tre faktorer:

  1. Consistency: Alle data er ens
  2. Availability: Alle data er tilgængeligt
  3. Partition tolerance: Alle data kan overleve nedbrud

Man kan ikke få alle tre faktorer i et distribueret system

35
Q

Hvad betyder high availability?

A

Et distribueret system er bygget til at fejle

36
Q

Hvad betyder race conditions?

A

Når der går kuk i hvilke værdier, der er tilgængelig hvornår. Et system kan være afhængig af, at nogle sekvenser sker i en bestemt rækkefølge. Hvis dette ikke sker, forekommer der fejl, hvilket er race conditions.

37
Q

Hvad betyder fast recovery?

A

Hvis et system går ned, så er det evnen til at genfinde de data, som er gemt.

38
Q

Hvad er big data?

A

Stor mængde ustruktureret data