Akka frukostseminarium

Post on 24-Jan-2015

272 views 0 download

description

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

Transcript of Akka frukostseminarium

Actors

Händelsestyrda system med

Johan Andrén johan.andren@mejsla.se

Akka

Moores lag

1971 idag19902300

2,6 miljarder

1 miljon

No Problems!

Oh No, Problems!

• Race conditions

• Korrupt data

• Deadlocks

• Thread contention

• Livelocks

• Priority Inversion

Multitrådning är SVÅRT• Att skriva

• Att testa

• Att debugga

• Att resonera kring

Vi behöver en bättre modell!

A

B C

D

EF

ACTORShändelsestyrdasystem med

Inkorg

Beteende

Tillstånd

Enda sättet att interagera

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

• Inget delat tillstånd

• Lättviktig

• Lös koppling

• Lätt att testa

Actor A Actor B

Actor A Actor B

Envägskommunikation

Actor A Actor B

Reagera, inte vänta

Actor AActor B1

Lastbalansera

Actor B2

router

Actor A Actor F (filter)

Pipe/Filter

Actor B

Actor A Actor B (chef)

ParallelliseraActor C1

Actor C2

Actor C2

• Inget jobb, ingen tråd!

• Async - aldrig vänta aktivt på svar

• Lös koppling

A

B C

D

EF

JVM

A

B C

D

EF

JVM 1 JVM 2

• 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å

Felhanteringi Actorsystem

• Läckage mellan skikt

• Upptäcka samtidiga fel

• Hur veta hur ett fel skall hanteras?

Traditionell modell

Actor X

(förälder)

Actor A

Actor Z

Felhantering med Actors

Actor X

(förälder)

Actor A

Actor Z

Felhantering med Actors

Actor X

Actor A

Actor Z

Felhantering med Actors

• Vattentäta skott

• Explicit vad som kommuniceras tillbaka

• Separation av felhantering och affärslogik

• Möjligt att hantera samtidiga fel

”Supervision”

• STM

• Remoting

• Klustring utan SPoF

• Integration med MQs

• Eventbus

Och mer!

http://akka.io

Johan Andrén johan.andren@mejsla.se

• Enkel men extremt kraftfull modell

• Lättviktigt och snabbt

• Lös koppling

• Självläkande system

Recap