Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

download Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

of 119

Transcript of Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    1/119

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    2/119

    Writing correct concurrentapplications is too hard

    Scaling out applications is

    too hard

    Writing highly fault-tolerant

    applications is too hard

    We believe that...

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    3/119

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    4/119

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    5/119

    ...sometimes

    plain evilTuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    6/119

    ...but always the

    wrong defaultTuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    7/119

    Threads are to Concurrency asWitchcraft is to Physics

    Hanging by a thread is the punishmentfor Shared State Concurrency

    - Gilad Bracha

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    8/119

    Actorsone tool in the toolbox

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    9/119

    Implements Message-Passing Concurrency

    Share!NOTHING Isolated lightweight processes

    Communicates through messages

    Asynchronous and non-blocking

    Each actor has a mailbox (message queue)

    Actor Model of

    Concurrency

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    10/119

    Actor Model of

    Concurrency Easier to reason about

    Raised abstraction level Easier to avoid

    Race conditions

    Deadlocks

    Starvation

    Live locks

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    11/119

    Introducing

    STM

    Persistent

    Distributed

    RESTful Secure

    Agents

    Dataflow Open Source

    Actors

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    12/119

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    13/119

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    14/119

    ARCHITECTURE

    ENTERPRISE

    MODULES

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    15/119

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    16/119

    Two different models

    Thread-based

    Event-based

    Very!lightweight (600 bytes per actor) Can easily create!millions!on a single

    workstation (6.5 million on 4 G RAM)

    Does not consume a thread

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    17/119

    !"#$%&'($!)!"#$%

    !*"##!&'()*+,!$+)$,-#!-$*',!.

    !!./01")$!1"/!$'()*+,!/!0

    !!-$2!,+$+#1+!/!.

    !!!!!"#$!"#$%!/2!

    !!!!!!$'()*+,!3/!4!!!!!!5,#)*6)7$'()*+,8

    !!9

    9

    Actors

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    18/119

    03.&/)!-$*',:;

    1"*!$'()*+,!/!

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    19/119

    1"*!7,$4!BC-$*',7::88

    Create Actors

    create actor with constructor arguments

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    20/119

    1"*!$'()*+,!/!

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    21/119

    1"*!$'()*+,!/!

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    22/119

    1"*!$'()*+,!/!

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    23/119

    !*"##%BC-$*',!$+)$,-#!-$*',!.

    %%&1$//0-$%-$2!#)#*!/!.

    !!!!:::!EE!$

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    24/119

    !*"##!A+$(,D#1+-$*',!$+)$,-#!-$*',!.

    !!./01")$!1"/!$'()*+,!/!0

    !!D+6>:#F!/!LD+,1#$+M,+$(,D#1+N

    !!-$2!,+$+#1+!/!.

    !!!!!"#$!"#$%!/2!

    !!!!!!$'()*+,!3/!4

    !!!!!!D+6>!O!"#$%!!9

    9

    the selfreference

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    25/119

    1"*%J',%+,!/!)8!/2!>)78

    9

    Actorsanonymous

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    26/119

    $'()*+,!O!"#$%!

    Send: !

    fire-forget

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    27/119

    1"*!,+D(6*!/!7

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    28/119

    1"*!,+D(6*=5*#')!/!

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    29/119

    EE!,+*(,)D!(*(,+

    1"*!>(*(,+!/!

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    30/119

    !*"##!R'U+-$*',!$+)$,-#!-$*',!.

    !!-$2!,+$+#1+!/!.

    !!!!!"#$!ZD+,7):,+56C7L[#!N!3!)

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    31/119

    !*"##!R'U+-$*',!$+)$,-#!-$*',!.

    !!-$2!,+$+#1+!/!.

    !!!!!"#$!ZD+,7):D+)F+,!!9

    9

    Reply

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    32/119

    !*"##!R'U+-$*',!$+)$,-#!-$*',!.

    !!-$2!,+$+#1+!/!.

    !!!!!"#$!ZD+,7)

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    33/119

    EE!F+>#)+!*I+!$

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    34/119

    Akka Dispatchers

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    35/119

    &'($!)!\#D5

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    36/119

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    37/119

    1"*!F#D5

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    38/119

    MessageQueues

    UnboundedLinkedBlockingQueue

    BoundedLinkedBlockingQueueBounded ArrayBlockingQueueBounded SynchronousQueue

    Plus different options per queue

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    39/119

    1"*!',+)8-$*',A+Q#D*,C:DI(*F'J)-66

    ActorRegistry

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    40/119

    Let it crashfault-tolerance

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    41/119

    Stolen from

    Erlang

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    42/119

    9ninesTuesday, July 20, 2010

    O F O

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    43/119

    OneForOne

    fault handling strategy

    Tuesday, July 20, 2010

    O F O

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    44/119

    OneForOne

    fault handling strategy

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    45/119

    O F O

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    46/119

    OneForOne

    fault handling strategy

    Tuesday, July 20, 2010

    O F O

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    47/119

    OneForOne

    fault handling strategy

    Tuesday, July 20, 2010

    O F O

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    48/119

    OneForOne

    fault handling strategy

    Tuesday, July 20, 2010

    O F O

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    49/119

    OneForOne

    fault handling strategy

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    50/119

    AllF O

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    51/119

    AllForOne

    fault handling strategy

    Tuesday, July 20, 2010

    AllF O

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    52/119

    AllForOne

    fault handling strategy

    Tuesday, July 20, 2010

    AllF O

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    53/119

    AllForOne

    fault handling strategy

    Tuesday, July 20, 2010

    S i hi hi

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    54/119

    Supervisor hierarchies

    Tuesday, July 20, 2010

    S i hi hi

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    55/119

    Supervisor hierarchies

    Tuesday, July 20, 2010

    S i hi hi

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    56/119

    Supervisor hierarchies

    Tuesday, July 20, 2010

    S i hi hi

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    57/119

    Supervisor hierarchies

    Tuesday, July 20, 2010

    F l h dl

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    58/119

    -66V',=)+R*,

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    59/119

    6#)%7

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    60/119

    *,

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    61/119

    !*"##!R(5+,1#D',!$+)$,-#!-$*',!.

    !!03.&/)!D+6>:;

    !!*,

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    62/119

    !*"##!V

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    63/119

    Remote Actors

    Tuesday, July 20, 2010

    R t S

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    64/119

    EE!(D+!I'D*!i!5',*!#)!$')>#Q

    A+U'*+_'F+:D*

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    65/119

    Client-initated and managedServer-initiated and managed

    Two types of

    remote actors

    Tuesday, July 20, 2010

    Cli t d

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    66/119

    EE!U+*I'FD!#)!-$*',!$6

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    67/119

    1"*!

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    68/119

    A+U'*+_'F+:,+Q#D*+,7

    !!LD+,1#$+M#FNX!

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    69/119

    1"*!I

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    70/119

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    71/119

    STManother tool in the toolbox

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    72/119

    60

    What isSTM?

    Tuesday, July 20, 2010

    STM: overview

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    73/119

    STM: overview See the memory (heap and stack) as atransactional dataset

    Similar to a database

    begin commit abort/rollback

    Transactions are retried automaticallyupon collision

    Rolls backthe memory on abort

    Tuesday, July 20, 2010

    Managed References

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    74/119

    Separates Identity fromValue

    -Values are immutable

    - Identity (Ref) holdsValues Change is a function

    Compare-and-swap (CAS)

    Abstraction of time Must be used within a transaction

    Managed References

    Tuesday, July 20, 2010

    Managed References

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    75/119

    1"*!,+>!/!A+>7B:DJ

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    76/119

    1"*!(D+,D!/!",

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    77/119

    03.&/)!",!!9

    9

    STM:API

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    78/119

    Actors + STM =Transactors

    Tuesday, July 20, 2010

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    79/119

    !*"##!ZD+,A+Q#D*,C!$+)$,-#!",

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    80/119

    Transactors

    Tuesday, July 20, 2010

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    81/119

    TransactorsStart transaction

    Tuesday, July 20, 2010

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    82/119

    TransactorsStart transaction

    Send message

    Tuesday, July 20, 2010

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    83/119

    TransactorsStart transaction

    Send message

    Tuesday, July 20, 2010

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    84/119

    TransactorsStart transaction

    Send message

    Update state

    within transaction

    Tuesday, July 20, 2010

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    85/119

    TransactorsStart transaction

    Send message

    Update state

    within transaction

    Tuesday, July 20, 2010

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    86/119

    TransactorsStart transaction

    Send message

    Update state

    within transaction

    Tuesday, July 20, 2010

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    87/119

    TransactorsStart transaction

    Send message

    Update state

    within transaction

    Tuesday, July 20, 2010

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    88/119

    TransactorsStart transaction

    Send message

    Update state

    within transaction

    Tuesday, July 20, 2010

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    89/119

    TransactorsStart transaction

    Send message

    Update state

    within transaction

    Tuesday, July 20, 2010

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    90/119

    TransactorsStart transaction

    Send message

    Update state

    within transaction

    Transaction

    fails

    Tuesday, July 20, 2010

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    91/119

    TransactorsStart transaction

    Send message

    Update state

    within transaction

    Transaction

    fails

    Tuesday, July 20, 2010

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    92/119

    Transactors

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    93/119

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    94/119

    Transactors

    Tuesday, July 20, 2010

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    95/119

    Transactors

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    96/119

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    97/119

    Transactors

    Tuesday, July 20, 2010

    Transactors

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    98/119

    TransactorsTransaction

    automatically

    retried

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    99/119

    Agentsyet another tool in the toolbox

    Tuesday, July 20, 2010

    Agents

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    100/119

    1"*!()$*#')!

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    101/119

    (some of the)Modules

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    102/119

    Akka Spring

    Tuesday, July 20, 2010

    Spring integration

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    103/119

    lK+

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    104/119

    6

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    105/119

    Akka Camel

    Tuesday, July 20, 2010

    Camel: consumer

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    106/119

    !*"##!BC&')D(U+,!$+)$,-#!-$*',!40)5!&')D(U+,!.

    !!-$2!+)F5'#)*Z,#!/!j>#6+MF

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    107/119

    !*"##!BC&')D(U+,!$+)$,-#!-$*',!40)5!&')D(U+,!.

    !!-$2!+)F5'#)*Z,#!/!

    !!!!jf+**CMI**5MEE0:0:0:0MccrrE$

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    108/119

    !*"##!&'U+*^,'F($+,!

    !!$+)$,-#!-$*',!40)5!^,'F($+,!.

    !!

    !!-$2!+)F5'#)*Z,#!/!!!!!j$'U+*FMEE6'$

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    109/119

    1"*!5,'F($+,!/!

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    110/119

    Akka Persistence

    Tuesday, July 20, 2010

    Akka Persistence API

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    111/119

    EE!*,!/!B')Q'R*',

    Turns the STM into ACID

    Tuesday, July 20, 2010

    Get data by id

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    112/119

    y

    EE!*,!/!B')Q'R*',7((#F8

    Tuesday, July 20, 2010

    For Redis only (so far)

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    113/119

    For Redis only (so far)

    1"*!s(+(+M!^+,D#D*+)*`(+(+?S6+U+)*"C5+@!/!!!

    !!A+F#DR*',

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    114/119

    Akka Deployment

    Tuesday, July 20, 2010

    Deployment

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    115/119

    Deploy as dependency JAR inWEB-INF/lib etc.

    Run as microkernelSoon OSGi-enabled, then drop

    in any OSGi container (SpringDM server, Karaf etc.)

    Deployment

    Tuesday, July 20, 2010

    and much more

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    116/119

    REST

    Comet

    Security

    ...and much more

    Web

    GuiceJTA

    AMQP

    Tuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    117/119

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    118/119

    EOFTuesday, July 20, 2010

  • 8/8/2019 Akka_ Simpler Scalability Tolerance, Con Currency _ Remoting Through Actors Presentation

    119/119