Akka

Akka är ett bibliotek med verktyg för att bygga parallelliserade, samtidiga (concurrent), distribuerade och feltoleranta system.

Att parallellisera med hjälp av trådar och lås är svårt. Att resonera om och att vara helt säker på att ett trådat system är korrekt och felfritt är ännu svårare. Akka tillhandahåller ett antal högnivåabstraktioner för parallellisering som gör det enklare att skriva, förstå och testa samtidig och parallell logik.

Akka har API:er både för Java och Scala. Eftersom det är ett bibliotek snarare än ett ramverk kan du välja om du vill basera din arkitektur på det eller bara använda det i delar av din applikation.

Med Akkas ”Actors” får du händelsestyrda och löst kopplade delar av ditt system som går att distribuera över flera servrar utan kodändringar.

Actors kapslar in tillstånd och kommunicerar med varandra via asynkrona meddelanden. Akkas actorsystem ser till att varje actor exekverar ett meddelande åt gången och alltså inte behöver synkroniseras. När en actor inte exekverar meddelanden tar de inte upp någon tråd och använder så lite resurser att det får plats miljontals actor-instanser per GB minne (exklusive affärstillstånd).

Actor-instanserna ordnas i en hierarki så att varje actor har en förälder. När ett fel uppstår så skickas det uppåt till föräldern som får bestämma hur problemet skall hanteras. Detta gör det lättare att bygga feltoleranta system som t.ex. kan försöka igen om en liten stund när en webbtjänst är otillgänglig.

Läs mer på Akkas hemsida: http://akka.io

Bloggar etiketter: , ,

css.php