apache flink - akka for the win!

8
Apache Flink Akka Actors for the win Till Rohrmann trohrmann @apache.org

Upload: fabian-hueske

Post on 16-Jul-2015

340 views

Category:

Data & Analytics


1 download

TRANSCRIPT

Page 1: Apache Flink - Akka for the Win!

Apache Flink

Akka – Actors for the win

Till Rohrmann

[email protected]

Page 2: Apache Flink - Akka for the Win!

Problems of the old RPC

service• Proprietary server/client architecture to

wrap RPCs

• Shortcomings:

– Blocking calls without timeouts

– Poor exception handling

– Error-prone programming abstraction

– Limited scalability

flink.apache.org 1

Page 3: Apache Flink - Akka for the Win!

Akka – Actor-based

concurrency• Framework to write distributed and highly

reactive applications

• Actor-based concurrency inspired by Erlang’sactor model

• Open source, Apache License 2.0

2flink.apache.org

Page 4: Apache Flink - Akka for the Win!

Actor model

flink.apache.org 3

Page 5: Apache Flink - Akka for the Win!

How can Akka help us?

• Nice programming abstraction

• Asynchronous messages with callbacks

• Location transparency of actors

• Fault-tolerant and self-healing

• High throughput and scalability

• Smaller code base to maintain

flink.apache.org 5

Page 6: Apache Flink - Akka for the Win!

Akka’s integration with Flink

• Job/TaskManager and JobClient are actors

• Old RPC are replaced by messages

• Easy to extend functionality by defining new messages

flink.apache.org 6

JobClientJobManag

er

TaskManag

er

TaskManag

er

Job

Page 7: Apache Flink - Akka for the Win!

Possible improvements

• Make more components an actor to

increase parallelism

– Scheduler/InstanceManager

– ExecutionGraph/Execution

• Make the system more reactive by

asynchronous calls

• Use Akka persistence to recover state of

failed actors

flink.apache.org 7

Page 8: Apache Flink - Akka for the Win!

flink.apache.org

github.com/apache/flink

meetup.com/Apache-Flink-

Meetup