Above the Clouds: Introducing Akka. Jonas Bonér Scalable Solutions

Similar documents
Akka: Simpler Concurrency, Scalability & Fault-tolerance through Actors. Jonas Bonér Scalable Solutions

Akka: Simpler Concurrency, Scalability & Fault-tolerance through Actors. Jonas Bonér Viktor Klang

[ «*< > t] open source t. Akka Essentials. Akka's actor-based, distributed, concurrent, and scalable Java applications

Reactive App using Actor model & Apache Spark. Rahul Kumar Software

Indirect Communication

Inside Broker How Broker Leverages the C++ Actor Framework (CAF)

Time and Space. Indirect communication. Time and space uncoupling. indirect communication

Orleans. Actors for High-Scale Services. Sergey Bykov extreme Computing Group, Microsoft Research

BUILDING A SCALABLE MOBILE GAME BACKEND IN ELIXIR. Petri Kero CTO / Ministry of Games

Building loosely coupled and scalable systems using Event-Driven Architecture. Jonas Bonér Patrik Nordwall Andreas Källberg

Data Acquisition. The reference Big Data stack

Using the SDACK Architecture to Build a Big Data Product. Yu-hsin Yeh (Evans Ye) Apache Big Data NA 2016 Vancouver

Data Acquisition. The reference Big Data stack

Building Reactive Applications with Akka

A Distributed System Case Study: Apache Kafka. High throughput messaging for diverse consumers

Basic vs. Reliable Multicast

CLUSTERING HIVEMQ. Building highly available, horizontally scalable MQTT Broker Clusters

Solace JMS Broker Delivers Highest Throughput for Persistent and Non-Persistent Delivery

Philipp Wille. Beyond Scala s Standard Library

Distributed Systems. 09. State Machine Replication & Virtual Synchrony. Paul Krzyzanowski. Rutgers University. Fall Paul Krzyzanowski

Building Scalable Stateful Services. Craft Conf 2016

Design and Architecture. Derek Collison

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio)

CMPT 435/835 Tutorial 1 Actors Model & Akka. Ahmed Abdel Moamen PhD Candidate Agents Lab

Achieving Scalability and High Availability for clustered Web Services using Apache Synapse. Ruwan Linton WSO2 Inc.

Intra-cluster Replication for Apache Kafka. Jun Rao

SQL Azure. Abhay Parekh Microsoft Corporation

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

COMP6511A: Large-Scale Distributed Systems. Windows Azure. Lin Gu. Hong Kong University of Science and Technology Spring, 2014

Overview SENTINET 3.1

Caching patterns and extending mobile applications with elastic caching (With Demonstration)

Building blocks: Connectors: View concern stakeholder (1..*):

MODERN APPLICATION ARCHITECTURE DEMO. Wanja Pernath EMEA Partner Enablement Manager, Middleware & OpenShift

Distributed Coordination with ZooKeeper - Theory and Practice. Simon Tao EMC Labs of China Oct. 24th, 2015

Applications of Paxos Algorithm

Tuesday, June 22, JBoss Users & Developers Conference. Boston:2010

DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK. UNIT I PART A (2 marks)

Advanced Distributed Systems

Transformation-free Data Pipelines by combining the Power of Apache Kafka and the Flexibility of the ESB's

3C05 - Advanced Software Engineering Thursday, April 29, 2004

Challenges for Data Driven Systems

Cloud Programming James Larus Microsoft Research. July 13, 2010

@unterstein #bedcon. Operating microservices with Apache Mesos and DC/OS

Embedded Technosolutions

Software MEIC. (Lesson 20)

Today: Distributed Objects. Distributed Objects

DISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: Lecture 7: Middleware. Slide 1. Slide 3. Message-oriented: MIDDLEWARE

Streaming data Model is opposite Queries are usually fixed and data are flows through the system.

Message Passing. Advanced Operating Systems Tutorial 7

Towards a Resilient Information Architecture Platform for the Smart Grid: RIAPS

Tools for Social Networking Infrastructures

Introduction to Distributed Systems (DS)

OpenWhisk on Mesos. Tyson Norris/Dragos Dascalita Haut, Adobe Systems, Inc.

Microservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff

Accelerate MySQL for Demanding OLAP and OLTP Use Cases with Apache Ignite. Peter Zaitsev, Denis Magda Santa Clara, California April 25th, 2017

FRANCESCO CESARINI. presents ERLANG/OTP. Francesco Cesarini Erlang

Scalable Streaming Analytics

REAL-TIME ANALYTICS WITH APACHE STORM

Java EE 7: Back-End Server Application Development

Service Mesh and Microservices Networking

The Lion of storage systems

Erlang. Joe Armstrong.

Exam : Implementing Microsoft Azure Infrastructure Solutions

Chapter 6: Distributed Systems: The Web. Fall 2012 Sini Ruohomaa Slides joint work with Jussi Kangasharju et al.

Write a technical report Present your results Write a workshop/conference paper (optional) Could be a real system, simulation and/or theoretical

Data Analytics with HPC. Data Streaming

Scaling Without Sharding. Baron Schwartz Percona Inc Surge 2010

Designing for Scalability. Patrick Linskey EJB Team Lead BEA Systems

Hi! NET Developer Group Braunschweig!

How we scaled push messaging for millions of Netflix devices. Susheel Aroskar Cloud Gateway

Everything You Need to Know About MySQL Group Replication

App Servers NG: Characteristics of The Next Generation Application Servers. Guy Nirpaz, VP R&D and Chief Architect GigaSpaces Technologies

Upgrade Your MuleESB with Solace s Messaging Infrastructure

CloudI Integration Framework. Chicago Erlang User Group May 27, 2015

MOC 6461A C#: Visual Studio 2008: Windows Communication Foundation

Introduction to Kafka (and why you care)

Akka Scala Documentation

HiTune. Dataflow-Based Performance Analysis for Big Data Cloud

Battle of the Giants Apache Solr 4.0 vs ElasticSearch 0.20 Rafał Kuć sematext.com

Container 2.0. Container: check! But what about persistent data, big data or fast data?!

Coherence & WebLogic Server integration with Coherence (Active Cache)

Data Infrastructure at LinkedIn. Shirshanka Das XLDB 2011

Create High Performance, Massively Scalable Messaging Solutions with Apache ActiveBlaze

Never Drop a Call With TecInfo SIP Proxy White Paper

High Availability Distributed (Micro-)services. Clemens Vasters Microsoft

November 7, DAN WILSON Global Operations Architecture, Concur. OpenStack Summit Hong Kong JOE ARNOLD

Ravana: Controller Fault-Tolerance in SDN

Putting it together. Data-Parallel Computation. Ex: Word count using partial aggregation. Big Data Processing. COS 418: Distributed Systems Lecture 21

Before proceeding with this tutorial, you must have a good understanding of Core Java and any of the Linux flavors.

Distributed Systems Principles and Paradigms. Chapter 01: Introduction

Distributed Systems Conclusions & Exam. Brian Nielsen

A day in the life of a log message Kyle Liberti, Josef

Distributed Systems Principles and Paradigms. Chapter 01: Introduction. Contents. Distributed System: Definition.

Spoilt for Choice Which Integration Framework to choose? Mule ESB. Integration. Kai Wähner

CS 425 / ECE 428 Distributed Systems Fall 2017

Esper EQC. Horizontal Scale-Out for Complex Event Processing

Distributed Systems Conclusions & Exam. Brian Nielsen

Building Durable Real-time Data Pipeline

Naresh Information Technologies

Vortex Whitepaper. Intelligent Data Sharing for the Business-Critical Internet of Things. Version 1.1 June 2014 Angelo Corsaro Ph.D.

Transcription:

Above the Clouds: Introducing Akka Jonas Bonér CEO @ Scalable Solutions Twitter: @jboner

The problem It is way too hard to build: 1. correct highly concurrent systems 2. truly scalable systems 3. fault-tolerant systems that self-heals...using state-of-the-art tools

Introducing akka

Vision Simpler Concurrency Scalability Fault-tolerance

Vision...with a single unified Programming model Runtime service

Manage system overload

Scale up & Scale out

Replicate and distribute for fault-tolerance

Transparent load balancing

ARCHITECTURE CORE SERVICES

ARCHITECTURE ADD-ON MODULES

ARCHITECTURE CLOUDY AKKA

WHERE IS AKKA USED? SOME EXAMPLES: FINANCE Stock trend Analysis & Simulation Event-driven messaging systems BETTING & GAMING Massive multiplayer online gaming High throughput and transactional betting TELECOM Streaming media network gateways SIMULATION 3D simulation engines E-COMMERCE Social media community sites

What is an Actor?

Actor Behavior State

Event-driven Thread Actor Behavior State

Event-driven Thread Actor Behavior State

Event-driven Thread Actor Behavior State

Event-driven Thread Actor Behavior State

Event-driven Thread Actor Behavior State

Actor Behavior State

Event-driven Thread Actor Behavior State

Akka Actors one tool in the toolbox

Actors!"#$%&'($!)!"#$%!*"##!&'()*+,!$+)$,-#!-$*',!.!!."/!$'()*+,!/!0!!-$0!,+$+#1+!/!.!!!!!"#$!"#$%!/2!!!!!!!$'()*+,!3/!4!!!!!!5,#)*6)7$'()*+,8!!9 9

Create Actors."*!$'()*+,!/!:$*',;<=&'()*+,> $'()*+, is an -$*',?+<

Start actors."*!$'()*+,!/!:$*',;<=&'()*+,>@a*:,*

Stop actors."*!$'()*+,!/!:$*',;<=&'()*+,>@a*:,* $'()*+,@A*'5

Send:! $'()*+,!B!"#$%! fire-forget

Send:!!! CC!,+*(,)A!:!<(*(,+."*!<(*(,+!/!:$*',!BBB!D+AA:E+ <(*(,+@:F:#*."*!,+A(6*!/!<(*(,+@,+A(6* returns the Future directly

Future."*!<(*(,+4G!<(*(,+HG!<(*(,+I!/!!!J(*(,+@+K5*L=M*,#)E> <(*(,+4@:F:#* <(*(,+H@')&'K56+*+7<!/2!@@@8 <(*(,+4@$'K56+*+N#*O?+A(6*7@@@8! <(*(,+H@$'K56+*+N#*OPQ$+5*#')7@@@8 <(*(,+I@$'K56+*+N#*O7<(*(,+H8 <(*(,+4!,+$+#1+!.!!!"#$!J''7R:,8!/2!S<''T 9@:F:#*@,+A(6*

Future."*%<4!/!J(*(,+A@<(*(,+7$:66:R6+8."*!<H!/!J(*(,+A@<#,A*&'K56+*+U;<7<(*(,+A8."*!<I!/!J(*(,+A@,+U($+7<(*(,+A877QG!L8!/2!@@8."*%<V!/!J(*(,+A@<'6U7W+,'87<(*(,+A877QG!L8!/2!@@@8

Future."*!<(*(,+4!/!0&/!.!!:X!Y)*!!!!Z[!:$*',!BBB!\]+66'\!CC!,+*(,)A!^!!RX!M*,#)E!Z[!:$*',!BBB!:!!!!!!!CC!,+*(,)A!\40\!!$X!M*,#)E!Z[!:$*',!BBB!_!!!!!!!CC!,+*(,)A!\4V\ 9!12$*-!R!3!\[\!3!$."*!<(*(,+H!/!0&/!.!!:!Z[!:$*',!BBB!?+`7\]+66'\8!$'66+$*!.!$:A+!?+A7QX!Y)*8!!!!/2!Q!9!!R!Z[!:$*',!BBB!?+`7:8!!!!!!!$'66+$*!.!$:A+!?+A7QX!M*,#)E8!/2!Q!9!!$!Z[!:$*',!BBB!?+`7_8!!!!!!!$'66+$*!.!$:A+!?+A7QX!M*,#)E8!/2!Q!9 9!12$*-!R!3!\[\!3!$

Dataflow 234&/)!J(*(,+@<6'F."*!QG!LG!W!/!a,'K#A+=Y)*>78 <6'F!.!!W!ZZ!Q78!3!L78!!5,#)*6)7\W!/!\!3!W788 9 <6'F!.!Q!ZZ!V0!9 <6'F!.!L!ZZ!H!9

Send:!!."*!,+A(6*!/!7:$*',!BB!D+AA:E+8@:A=M*,#)E> uses Future under the hood and blocks until timeout or completion

Reply!*"##!M'K+-$*',!$+)$,-#!-$*',!.!!-$0!,+$+#1+!/!.!!!!!"#$!bA+,7):K+8!/2!!!!!!!CC!(A+!,+56L!!!!!!A+6<@,+56L7S]#!T!3!):K+8!!9 9

HotSwap A+6<!R+$'K+!.!!CC!)+F!R'UL!!!"#$!c+FD+AA:E+!/2!!!!!@@@!! 9

HotSwap :$*',!B!]'*MF:5!.!!CC!)+F!R'UL!!!"#$!c+FD+AA:E+!/2!!!!!@@@!! 9

HotSwap A+6<@()R+$'K+7)

Set dispatcher!*"##!dl-$*',!$+)$,-#!-$*',!.!!a+6<@u#a5:*$o+,!/!d#a5:*$o+,a!!!!@)+f"o,+:ue:a+ud#a5:*$o+,7a+6<8!!!!@@@ 9 :$*',@U#A5:*$O+,!/!U#A5:*$O+,!CC!R+<',+!A*:,*+U

Remote Actors

Remote Server CC!(A+!O'A*!f!5',*!#)!$')<#E -$*',@,+K'*+@A*:,*78 -$*',@,+K'*+@A*:,*7\6'$:6O'A*\G!H^^H8 Scalable implementation based on NIO (Netty) & Protobuf

Two types of remote actors Client initiated & managed Server initiated & managed

Client-managed supervision works across nodes 234&/)%-$*',@g."*!A+,1#$+!/!,+K'*+@:$*',;<=DL-$*',>7O'A*G!5',*8 A+,1#$+!B!K+AA:E+

Server-managed register and manage actor on server client gets dumb proxy handle 234&/)%-$*',@g,+K'*+@,+E#A*+,7SA+,1#$+X#UTG!:$*',;<=DLM+,1#$+>8 server part

Server-managed."*!A+,1#$+!/!,+K'*+@:$*',J',7!!SA+,1#$+X#UTG!!!SU:,%A*:,TG!!!hhhh8 A+,1#$+!B!K+AA:E+ client part

Server-managed 234&/)%-$*',@g,+K'*+@,+E#A*+,7:$*',;<=DLM+,1#$+>8,+K'*+@,+E#A*+,eLb(#U7:$*',;<=DLM+,1#$+>8,+K'*+@,+E#A*+,a+,M+AA#')7!!SA+,1#$+X#UTG!:$*',;<=DLM+,1#$+>8,+K'*+@(),+E#A*+,7SA+,1#$+X#UT8!,+K'*+@(),+E#A*+,7:$*',?+<8 server part

Remoting in Akka 1.0 Remote Actors Client-managed Server-managed Problem Deployment (local vs remote) is a dev decision We get a fixed and hard-coded topology Can t change it dynamically and adaptively Needs to be a deployment & runtime decision

Clustered Actors (in development for upcoming Akka 2.0)

Address 1:6!:$*',!/!:$*',;<=DL-$*',>7S315#$/.2!$T8 Bind the actor to a virtual address

Deployment Actor address is virtual and decoupled from how it is deployed If no deployment configuration exists then actor is deployed as local The same system can be configured as distributed without code change (even change at runtime) Write as local but deploy as distributed in the cloud without code change Allows runtime to dynamically and adaptively change topology

Deployment configuration :%%:!.!!:$*',!.!!!!U+56'LK+)*!.!!!!!!315#$/.2!$!.!!!!!!!!!!!!!!!!!!!!!!!!!,'(*+,!/!\6+:A*[$5(\!!!!!!!!$6(A*+,+U!.!!!!!!!!!!O'K+!!!!!!/!\)'U+X*+A*[)'U+[4\!!!!!!!!!!,+56#$:A!!/!I!!!!!!!!!!A*:*+6+AA!/!')!!!!!!!!9!!!!!!9!!!!9!!9 9

Deployment configuration :%%:!. Address!!:$*',!.!!!!U+56'LK+)*!.!!!!!!315#$/.2!$!.!!!!!!!!!!!!!!!!!!!!!!!!!,'(*+,!/!\6+:A*[$5(\!!!!!!!!$6(A*+,+U!.!!!!!!!!!!O'K+!!!!!!/!\)'U+X*+A*[)'U+[4\!!!!!!!!!!,+56#$:A!!/!I!!!!!!!!!!A*:*+6+AA!/!')!!!!!!!!9!!!!!!9!!!!9!!9 9

Deployment configuration :%%:!. Address Type of!!:$*',!.!!!!u+56'lk+)*!.!!!!!!315#$/.2!$!.!!!!!!!!!!!!!!!!!!!!!!!!!,'(*+,!/!\6+:a*[$5(\!!!!!!!!$6(a*+,+u!.!!!!!!!!!!o'k+!!!!!!/!\)'u+x*+a*[)'u+[4\!!!!!!!!!!,+56#$:a!!/!i!!!!!!!!!!a*:*+6+aa!/!')!!!!!!!!9!!!!!!9!!!!9!!9 9 load-balancing

Deployment configuration Clustered or Local :%%:!. Address Type of!!:$*',!.!!!!u+56'lk+)*!.!!!!!!315#$/.2!$!.!!!!!!!!!!!!!!!!!!!!!!!!!,'(*+,!/!\6+:a*[$5(\!!!!!!!!$6(a*+,+u!.!!!!!!!!!!o'k+!!!!!!/!\)'u+x*+a*[)'u+[4\!!!!!!!!!!,+56#$:a!!/!i!!!!!!!!!!a*:*+6+aa!/!')!!!!!!!!9!!!!!!9!!!!9!!9 9 load-balancing

Deployment configuration Clustered or Local :%%:!. Address Type of!!:$*',!.!!!!u+56'lk+)*!.!!!!!!315#$/.2!$!.!!!!!!!!!!!!!!!!!!!!!!!!!,'(*+,!/!\6+:a*[$5(\!!!!!!!!$6(a*+,+u!.!!!!!!!!!!o'k+!!!!!!/!\)'u+x*+a*[)'u+[4\!!!!!!!!!!,+56#$:a!!/!i!!!!!!!!!!a*:*+6+aa!/!')!!!!!!!!9!!!!!!9!!!!9!!9 9 load-balancing Home node

Deployment configuration Clustered or Local :%%:!. Address Type of!!:$*',!.!!!!u+56'lk+)*!.!!!!!!315#$/.2!$!.!!!!!!!!!!!!!!!!!!!!!!!!!,'(*+,!/!\6+:a*[$5(\!!!!!!!!$6(a*+,+u!.!!!!!!!!!!o'k+!!!!!!/!\)'u+x*+a*[)'u+[4\!!!!!!!!!!,+56#$:a!!/!i!!!!!!!!!!a*:*+6+aa!/!')!!!!!!!!9!!!!!!9!!!!9!!9 9 in cluster load-balancing Home node Nr of replicas

Deployment configuration Clustered or Local :%%:!. Address Type of!!:$*',!.!!!!u+56'lk+)*!.!!!!!!315#$/.2!$!.!!!!!!!!!!!!!!!!!!!!!!!!!,'(*+,!/!\6+:a*[$5(\!!!!!!!!$6(a*+,+u!.!!!!!!!!!!o'k+!!!!!!/!\)'u+x*+a*[)'u+[4\!!!!!!!!!!,+56#$:a!!/!i!!!!!!!!!!a*:*+6+aa!/!')!!!!!!!!9!!!!!!9!!!!9!!9 9 in cluster Stateful or Stateless load-balancing Home node Nr of replicas

The runtime provides Subscription-based cluster membership service Highly available cluster registry for actors Automatic cluster-wide deployment Highly available centralized configuration service Automatic replication with automatic fail-over upon node crash Transparent and user-configurable load-balancing Transparent adaptive cluster rebalancing Leader election Durable mailboxes - guaranteed delivery

Upcoming features Publish/Subscribe (broker and broker-less) Compute Grid (MapReduce) Data Grid (querying etc) Distributed STM (Transactional Memory) Event Sourcing

Akka Node

Akka Node."*!5#)E!/!:$*',;<=a#)E>7S5#)ET8."*!5')E!/!:$*',;<=a')E>7S5')ET8 5#)E!B!e:6675')E8

Akka Node."*!5#)E!/!:$*',;<=a#)E>7S5#)ET8."*!5')E!/!:$*',;<=a')E>7S5')ET8 5#)E!B!e:6675')E8 Ping Pong

Akka Node Akka Cluster Node Ping Pong

Akka Cluster Node Akka Node Akka Cluster Node Akka Cluster Node Ping Pong Akka Cluster Node Akka Cluster Node

Akka Cluster Node Akka Cluster Node Akka Cluster Node Ping Pong Akka Cluster Node Akka Cluster Node

Akka Cluster Node Akka Cluster Node Ping :%%:!.!!:$*',!.!!!!U+56'LK+)*!.!!!!!!5#)E!.9!!!!!!5')E!.!!!!!!!!!!!!!!!!!!!!!!!!!,'(*+,!/!\,'()U[,'R#)\!!!!!!!!$6(A*+,+U!.!!!!!!!!!!,+56#$:A!!/!I!!!!!!!!!!A*:*+6+AA!/!')!!!!!!!!9!!!!!!9!!!!9!!9 9 Pong Akka Cluster Node Akka Cluster Node Akka Cluster Node

Akka Cluster Node Akka Ping Cluster Node :%%:!.!!:$*',!.!!!!U+56'LK+)*!.!!!!!!5#)E!.9!!!!!!5')E!.!!!!!!!!!!!!!!!!!!!!!!!!!,'(*+,!/!\,'()U[,'R#)\!!!!!!!!$6(A*+,+U!.!!!!!!!!!!,+56#$:A!!/!I!!!!!!!!!!A*:*+6+AA!/!')!!!!!!!!9!!!!!!9!!!!9!!9 9 Pong Akka Cluster Node Akka Cluster Node Akka Cluster Node

Akka Pong Cluster Node Akka Ping Cluster Node :%%:!.!!:$*',!.!!!!U+56'LK+)*!.!!!!!!5#)E!.9!!!!!!5')E!.!!!!!!!!!!!!!!!!!!!!!!!!!,'(*+,!/!\,'()U[,'R#)\!!!!!!!!$6(A*+,+U!.!!!!!!!!!!,+56#$:A!!/!I!!!!!!!!!!A*:*+6+AA!/!')!!!!!!!!9!!!!!!9!!!!9!!9 9 Akka Pong Cluster Node Akka Pong Cluster Node Akka Cluster Node

Akka Pong Cluster Node Akka Ping Cluster Node :%%:!.!!:$*',!.!!!!U+56'LK+)*!.!!!!!!5#)E!.9!!!!!!5')E!.!!!!!!!!!!!!!!!!!!!!!!!!!,'(*+,!/!\,'()U[,'R#)\!!!!!!!!$6(A*+,+U!.!!!!!!!!!!,+56#$:A!!/!I!!!!!!!!!!A*:*+6+AA!/!') ZooKeeper!!!!!!!!9 Ensemble!!!!!!9!!!!9!!9 9 Akka Pong Cluster Node Akka Pong Cluster Node Akka Cluster Node

Let it crash fault-tolerance

The Erlang model

9 nines

...let s take a standard OO application

Which components have critically important state and explicit error handling?

Classification of State Scratch data Static data Supplied at boot time Supplied by other components Dynamic data Data possible to recompute Input from other sources; data that is impossible to recompute

Classification of State Scratch data Static data Supplied at boot time Supplied by other components Dynamic data Data possible to recompute Input from other sources; data that is impossible to recompute

Classification of State Scratch data Static datamust be Supplied at boot time protected Supplied by other components Dynamic by datany means Data possible to recompute Input from other sources; data that is impossible to recompute

Fault-tolerant onion-layered Error Kernel

Error Kernel

Error Kernel

Error Kernel

Error Kernel

Error Kernel

Error Kernel

Error Kernel

Error Kernel

Error Kernel

Error Kernel

Error Kernel

Error Kernel

Error Kernel

Error Kernel

Error Kernel

Node 1 Node 2

Linking 6#)%7:$*',8 ()6#)%7:$*',8 A*:,*i#)%7:$*',8 A5:F)i#)%=DL-$*',>

Fault handlers -66J',;)+M*,:*+EL7!!+,,',AG!!K:Qc,;<?+*,#+AG!!!F#*O#)"#K+?:)E+8 ;)+J',;)+M*,:*+EL7!!+,,',AG!!K:Qc,;<?+*,#+AG!!!F#*O#)"#K+?:)E+8

Supervision!*"##!M(5+,1#A',!$+)$,-#!-$*',!.!!<:(6*]:)U6+,!/!-66J',;)+M*,:*+EL7!!!!i#A*7$6:AA;<=Y66+E:6M*:*+PQ$+5*#')>8!!!!!^G!^00088!!-$0!,+$+#1+!/!.!!!!!"#$!?+E#A*+,7:$*',8!/2!6#)%7:$*',8!!9 9

Manage failure!*"##!j:(6*"'6+,:)*m+,1#$+!$+)$,-#!-$*',!.!!@@@!!&.$//2-$%-$0!5,+?+a*:,*7,+:a')x!"o,'f:r6+8!/!.!!!!@@@!cc!$6+:)!(5!'$0&/$!,+a*:,*!!9!!&.$//2-$%-$0!5'a*?+a*:,*7,+:a')x!"o,'f:r6+8!/!.!!!!@@@!cc!#)#*!"0)$/!,+a*:,*!!9 9

...and much much more HTTP STM Camel FSM Microkernel Guice JTA OSGi Dataflow AMQP scalaz Spring Security

Akka 1.1 To be released today

Get it and learn more http://akka.io

EOF