+ All Categories
Home > Devices & Hardware > Supervise your Akka actors

Supervise your Akka actors

Date post: 05-Dec-2014
Category:
Upload: xebia-france
View: 212 times
Download: 0 times
Share this document with a friend
Description:
Vous avez entendu parler des acteurs Akka et vous vous demandez quels types d’architectures vous pouvez mettre en place, ou comment les intégrer dans votre architecture ? Et quelle est la courbe d’apprentissage ? A travers un retour d’expérience, nous répondrons à ces questions et vous montrerons comment en trois mois nous avons mis en place une architecture basée sur Akka et Spray en Scala. Par Nicolas Jozwiak
35
Supervise your akka actors Nicolas Jozwiak
Transcript
Page 1: Supervise your Akka actors

Supervise your akka actorsNicolas Jozwiak

Page 2: Supervise your Akka actors

Programmeur and agiliste!!@njozwiak

Page 3: Supervise your Akka actors

Contents•Context !•Why Akka and Scala ? !•Solution !•DevOps !• Issues and knowledges !•Results

Page 4: Supervise your Akka actors

Context

Page 5: Supervise your Akka actors

Talend

offers

Web Service offers

Logstash ElasticSearch UI result

syslog

offersFTP

Page 6: Supervise your Akka actors

TalendWeb Service

offers

FTP

1 Read FTP

2

Translate Xml in Jobs

3 Ask Web Service for diff

4 Save

offers

offers

Page 7: Supervise your Akka actors

•Not happy customers • Lost process •Difficult to replay •Dashboard not

efficient

Page 8: Supervise your Akka actors

• Business logic everywhere • Talend processing

complex and not known • Approximate error

handling • Slow integration

Page 9: Supervise your Akka actors

• Increase processing reliability

• Centralize business logic

• Enhance processing performance

Page 10: Supervise your Akka actors

Why Akka and Scala ?

Page 11: Supervise your Akka actors

• Isolate business code in actors

• Events to process

• Fault tolerance

• Supervision strategy

• Performance

Why Akka ?

Page 12: Supervise your Akka actors

• Team knows Scala (a little)

• Try Scala in the company

• Scala with Akka rocks !

Why Scala ?

Page 13: Supervise your Akka actors

Solution

Page 14: Supervise your Akka actors

Web Service offers

FTP

1

2

3

4

Read FTP

Translate Xml in Jobs

Ask Web Service for diff

Save

TalendAkka

offers

offers

Page 15: Supervise your Akka actors

Supervision

• Every single actor has a default supervisor strategy •Means manage Actors failures • Send a notification to its supervisor • Clean separation of processing and error

handling

Page 16: Supervise your Akka actors

Actor system

Actor1 Actor2

A D

B C

A

B CException

Page 17: Supervise your Akka actors
Page 18: Supervise your Akka actors

MasterSupervisor

FileSystem Supervisor

FileCrawler

Xml Supervisor

XmlReader

Posting Supervisor

DiffActorPosting Service

Syslog

DeadLetterListener

WorkStatus

Page 19: Supervise your Akka actors

DevOps

Page 20: Supervise your Akka actors

•No guarantee on message delivery

•Have some metrics : ‣Logs ‣Metrics with Graphite ‣Ostrich (Twitter) ‣Kamon IO

Page 21: Supervise your Akka actors
Page 22: Supervise your Akka actors
Page 23: Supervise your Akka actors
Page 24: Supervise your Akka actors
Page 25: Supervise your Akka actors

• Endpoints access with Spray : ‣Statistics ‣HealthCheck ‣Workflow state

Page 26: Supervise your Akka actors

Issues & knowledges

Page 27: Supervise your Akka actors

• Actor system design • An actor with lots of processing • Unit testing • Actors and Futures

Page 28: Supervise your Akka actors

•Mind shift

• Business events

•Delegate to actors

• Isolate business rules

• Behaviour testing

Page 29: Supervise your Akka actors

•Domain Driven Design applied

‣Make implicit concepts explicit

‣Aggregates

Page 30: Supervise your Akka actors

MasterSupervisor

Xml Supervisor

XmlReader

DeadLetterListener

Entry point

Never call !

Page 31: Supervise your Akka actors

Results

Page 32: Supervise your Akka actors

• In production

• Proactive way

•New dashboard

• Processing time

•Web Service to optimize

• FTP to remove

Page 33: Supervise your Akka actors

Conclusion

Page 34: Supervise your Akka actors

• Akka is very powerful ‣Complex underlying notions ‣Active ecosystem

• KISS

Page 35: Supervise your Akka actors

Thank you for watching


Recommended