Akka frukostseminarium

30
Actors Händelsestyrda system med Johan Andrén [email protected] Akka

description

Swedish slides from the breakfast seminar about Akka held at the Mejsla office 2013-10-08

Transcript of Akka frukostseminarium

Page 1: Akka   frukostseminarium

Actors

Händelsestyrda system med

Johan Andrén [email protected]

Akka

Page 2: Akka   frukostseminarium

Moores lag

1971 idag19902300

2,6 miljarder

1 miljon

Page 3: Akka   frukostseminarium

No Problems!

Page 4: Akka   frukostseminarium

Oh No, Problems!

• Race conditions

• Korrupt data

• Deadlocks

• Thread contention

• Livelocks

• Priority Inversion

Page 5: Akka   frukostseminarium

Multitrådning är SVÅRT• Att skriva

• Att testa

• Att debugga

• Att resonera kring

Vi behöver en bättre modell!

Page 6: Akka   frukostseminarium
Page 7: Akka   frukostseminarium

A

B C

D

EF

Page 8: Akka   frukostseminarium

ACTORShändelsestyrdasystem med

Page 9: Akka   frukostseminarium
Page 10: Akka   frukostseminarium

Inkorg

Beteende

Tillstånd

Enda sättet att interagera

Page 11: Akka   frukostseminarium

• Entrådsmodell - lätt att förstå

• Inget delat tillstånd

• Lättviktig

• Lös koppling

• Lätt att testa

Page 12: Akka   frukostseminarium

Actor A Actor B

Page 13: Akka   frukostseminarium

Actor A Actor B

Envägskommunikation

Page 14: Akka   frukostseminarium

Actor A Actor B

Reagera, inte vänta

Page 15: Akka   frukostseminarium

Actor AActor B1

Lastbalansera

Actor B2

router

Page 16: Akka   frukostseminarium

Actor A Actor F (filter)

Pipe/Filter

Actor B

Page 17: Akka   frukostseminarium

Actor A Actor B (chef)

ParallelliseraActor C1

Actor C2

Actor C2

Page 18: Akka   frukostseminarium

• Inget jobb, ingen tråd!

• Async - aldrig vänta aktivt på svar

• Lös koppling

Page 19: Akka   frukostseminarium

A

B C

D

EF

JVM

Page 20: Akka   frukostseminarium

A

B C

D

EF

JVM 1 JVM 2

Page 21: Akka   frukostseminarium

• Två actors på en kärna, en i taget

• Två actors på en kärna, samtidigt

• Två actors på varsin kärna

• Två actors på varsin server

Ingen skillnad på

Page 22: Akka   frukostseminarium

Felhanteringi Actorsystem

Page 23: Akka   frukostseminarium
Page 24: Akka   frukostseminarium

• Läckage mellan skikt

• Upptäcka samtidiga fel

• Hur veta hur ett fel skall hanteras?

Traditionell modell

Page 25: Akka   frukostseminarium

Actor X

(förälder)

Actor A

Actor Z

Felhantering med Actors

Page 26: Akka   frukostseminarium

Actor X

(förälder)

Actor A

Actor Z

Felhantering med Actors

Page 27: Akka   frukostseminarium

Actor X

Actor A

Actor Z

Felhantering med Actors

Page 28: Akka   frukostseminarium

• Vattentäta skott

• Explicit vad som kommuniceras tillbaka

• Separation av felhantering och affärslogik

• Möjligt att hantera samtidiga fel

”Supervision”

Page 29: Akka   frukostseminarium

• STM

• Remoting

• Klustring utan SPoF

• Integration med MQs

• Eventbus

Och mer!

http://akka.io

Page 30: Akka   frukostseminarium

Johan Andrén [email protected]

• Enkel men extremt kraftfull modell

• Lättviktigt och snabbt

• Lös koppling

• Självläkande system

Recap