SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
Florian Hopf
http://blog.florian-hopf.de
Download
  Page
              Link
              downloaded
              already?

Parse Links
 & Content




  Index
 Content
Sequential
 Example
1. Scale Up
Thread A   Page    Thread B
           Store
Synchronize
  Thread A   Page    Thread B



 and Suffer
             Store
Actor-Framework
Message Passing
 Concurrency
Thread A   Thread B




 Actor A    Actor B
Master

              Page
    Fetch     Store     Index
    Page                Page
           Page
                  Indexed
 Page     Content
                            Indexing
Parsing
                              Actor
 Actor
Simple Example
Actors are accessed
   by references
Reference




              Actor
            Instance
Reference




              Actor
                Actor
                   n
            Instance
              Instance
                 Actor
               Instances
Fetching Pages
  in parallel
2. Scale Out
References can point
to remote machines
akka {
        actor {
           deployment {
              /serviceA/aggregation {
                 router = "round­robin"
                 nr­of­instances = 10
                 target {
                    nodes = 
                       ["akka://app@10.0.0.2:2552", 
                       "akka://app@10.0.0.3:2552"]
                 }
              }
           }
        }
    }
3. Fault Tolerance
Actors are supervised
   by their parent
Master

          Page
          Store



 Page
                   Indexing
Parsing
                     Actor
 Actor
Reference




              Actor
            Instance
Master

          Page
          Store



 Page
                   Indexing
Parsing
                     Actor
 Actor
Reference




              Actor
            Instance
Actions:
Escalate
Resume
Restart
  Stop
Network fail on download
Master

          Page
          Store



 Page
                   Indexing
Parsing
                     Actor
 Actor
Resume
PageParsingActor,
 resend message
Indexing Failure, I/O Error
Master

          Page
          Store



 Page
                   Indexing
Parsing
                     Actor
 Actor
Restart Master
Scaling Up
  Scaling Out
Fault Tolerance
Software Transactional
       Memory

  Durable Mailboxes
http://akka.io

Mais conteúdo relacionado

Mais procurados

Rails 3 and OAuth for Barcamp Tampa
Rails 3 and OAuth for Barcamp TampaRails 3 and OAuth for Barcamp Tampa
Rails 3 and OAuth for Barcamp Tampa
Bryce Kerley
 
I can haz HTTP - Consuming and producing HTTP APIs in the Ruby ecosystem
I can haz HTTP - Consuming and producing HTTP APIs in the Ruby ecosystemI can haz HTTP - Consuming and producing HTTP APIs in the Ruby ecosystem
I can haz HTTP - Consuming and producing HTTP APIs in the Ruby ecosystem
Sidu Ponnappa
 
Engine caty
Engine catyEngine caty
Engine caty
a14071
 
Building Awesome APIs in Grails
Building Awesome APIs in GrailsBuilding Awesome APIs in Grails
Building Awesome APIs in Grails
clatimer
 

Mais procurados (20)

One does not simply "Upgrade to Rails 3"
One does not simply "Upgrade to Rails 3"One does not simply "Upgrade to Rails 3"
One does not simply "Upgrade to Rails 3"
 
Rails 3
Rails 3Rails 3
Rails 3
 
RBC Mod 1: Making a New Rails App
RBC Mod 1: Making a New Rails AppRBC Mod 1: Making a New Rails App
RBC Mod 1: Making a New Rails App
 
Building a scalable API with Grails
Building a scalable API with GrailsBuilding a scalable API with Grails
Building a scalable API with Grails
 
The React Cookbook: Advanced Recipes to Level Up Your Next App
The React Cookbook: Advanced Recipes to Level Up Your Next AppThe React Cookbook: Advanced Recipes to Level Up Your Next App
The React Cookbook: Advanced Recipes to Level Up Your Next App
 
Raml part 1
Raml part 1Raml part 1
Raml part 1
 
Spring core
Spring coreSpring core
Spring core
 
Rails 3 and OAuth for Barcamp Tampa
Rails 3 and OAuth for Barcamp TampaRails 3 and OAuth for Barcamp Tampa
Rails 3 and OAuth for Barcamp Tampa
 
Understanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple StepsUnderstanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple Steps
 
Workshop: Creating RESTful API’s with Grails and Spring Security (GR8Conf 2014)
Workshop: Creating RESTful API’s with Grails and Spring Security (GR8Conf 2014)Workshop: Creating RESTful API’s with Grails and Spring Security (GR8Conf 2014)
Workshop: Creating RESTful API’s with Grails and Spring Security (GR8Conf 2014)
 
Getting Started With Angular
Getting Started With AngularGetting Started With Angular
Getting Started With Angular
 
I can haz HTTP - Consuming and producing HTTP APIs in the Ruby ecosystem
I can haz HTTP - Consuming and producing HTTP APIs in the Ruby ecosystemI can haz HTTP - Consuming and producing HTTP APIs in the Ruby ecosystem
I can haz HTTP - Consuming and producing HTTP APIs in the Ruby ecosystem
 
Exception mapping using api kit
Exception mapping using api kitException mapping using api kit
Exception mapping using api kit
 
Engine caty
Engine catyEngine caty
Engine caty
 
RESTful modules in zf2
RESTful modules in zf2RESTful modules in zf2
RESTful modules in zf2
 
Building Awesome APIs in Grails
Building Awesome APIs in GrailsBuilding Awesome APIs in Grails
Building Awesome APIs in Grails
 
Exposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerExposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using Swagger
 
Puppet Roles & Profiles Using Trusted Facts.
Puppet Roles & Profiles Using Trusted Facts.Puppet Roles & Profiles Using Trusted Facts.
Puppet Roles & Profiles Using Trusted Facts.
 
REST-API introduction for developers
REST-API introduction for developersREST-API introduction for developers
REST-API introduction for developers
 
REST API Best Practices & Implementing in Codeigniter
REST API Best Practices & Implementing in CodeigniterREST API Best Practices & Implementing in Codeigniter
REST API Best Practices & Implementing in Codeigniter
 

Destaque

English project (aviral gupta)
English project (aviral gupta)English project (aviral gupta)
English project (aviral gupta)
aviralgupta14
 
Thriller seqeunce pitch
Thriller seqeunce pitchThriller seqeunce pitch
Thriller seqeunce pitch
charwolfefilm
 
Representation theory
Representation theoryRepresentation theory
Representation theory
charwolfefilm
 
Diseño estructural de pavimentos
Diseño estructural de pavimentosDiseño estructural de pavimentos
Diseño estructural de pavimentos
civilucho
 
Owwl upgrades
Owwl upgradesOwwl upgrades
Owwl upgrades
knollnook
 

Destaque (20)

Exlab coaching
Exlab coachingExlab coaching
Exlab coaching
 
Where We End
Where We EndWhere We End
Where We End
 
Fast Track Problem Solving in Bangladesh
Fast Track Problem Solving in BangladeshFast Track Problem Solving in Bangladesh
Fast Track Problem Solving in Bangladesh
 
English project (aviral gupta)
English project (aviral gupta)English project (aviral gupta)
English project (aviral gupta)
 
Cracking the MBA
Cracking the MBACracking the MBA
Cracking the MBA
 
Hombro inserciones tendinosas 3 (1)
Hombro inserciones tendinosas 3 (1)Hombro inserciones tendinosas 3 (1)
Hombro inserciones tendinosas 3 (1)
 
Adj new
Adj newAdj new
Adj new
 
'Best Practices' & 'Context-Driven' - Building a bridge (2003)
'Best Practices' & 'Context-Driven' - Building a bridge (2003)'Best Practices' & 'Context-Driven' - Building a bridge (2003)
'Best Practices' & 'Context-Driven' - Building a bridge (2003)
 
Thriller seqeunce pitch
Thriller seqeunce pitchThriller seqeunce pitch
Thriller seqeunce pitch
 
How_To_Make_Your_Number_in_2016
How_To_Make_Your_Number_in_2016How_To_Make_Your_Number_in_2016
How_To_Make_Your_Number_in_2016
 
Moral Fundamentalism
Moral FundamentalismMoral Fundamentalism
Moral Fundamentalism
 
Representation theory
Representation theoryRepresentation theory
Representation theory
 
Accessories
AccessoriesAccessories
Accessories
 
Webvisions ny
Webvisions nyWebvisions ny
Webvisions ny
 
Diseño estructural de pavimentos
Diseño estructural de pavimentosDiseño estructural de pavimentos
Diseño estructural de pavimentos
 
Ximena
XimenaXimena
Ximena
 
Fitbit
FitbitFitbit
Fitbit
 
Non è mai stato così facile condividere
Non è mai stato così facile condividereNon è mai stato così facile condividere
Non è mai stato così facile condividere
 
Owwl upgrades
Owwl upgradesOwwl upgrades
Owwl upgrades
 
โครงร่างคอม
โครงร่างคอมโครงร่างคอม
โครงร่างคอม
 

Semelhante a Akka Presentation Schule@synyx

eSobi Website Multilayered Architecture
eSobi Website Multilayered ArchitectureeSobi Website Multilayered Architecture
eSobi Website Multilayered Architecture
Allan Huang
 

Semelhante a Akka Presentation Schule@synyx (20)

Spring from a to Z
Spring from  a to ZSpring from  a to Z
Spring from a to Z
 
Salesforce Lightning Web Components Overview
Salesforce Lightning Web Components OverviewSalesforce Lightning Web Components Overview
Salesforce Lightning Web Components Overview
 
Introduction to Alfresco Surf Platform
Introduction to Alfresco Surf PlatformIntroduction to Alfresco Surf Platform
Introduction to Alfresco Surf Platform
 
Spring Basics
Spring BasicsSpring Basics
Spring Basics
 
Colloquim Report on Crawler - 1 Dec 2014
Colloquim Report on Crawler - 1 Dec 2014Colloquim Report on Crawler - 1 Dec 2014
Colloquim Report on Crawler - 1 Dec 2014
 
SEO for Developers
SEO for DevelopersSEO for Developers
SEO for Developers
 
Spring IOC and DAO
Spring IOC and DAOSpring IOC and DAO
Spring IOC and DAO
 
Colloquim Report - Rotto Link Web Crawler
Colloquim Report - Rotto Link Web CrawlerColloquim Report - Rotto Link Web Crawler
Colloquim Report - Rotto Link Web Crawler
 
eSobi Website Multilayered Architecture
eSobi Website Multilayered ArchitectureeSobi Website Multilayered Architecture
eSobi Website Multilayered Architecture
 
03.eGovFrame Runtime Environment Training Book Supplement
03.eGovFrame Runtime Environment Training Book Supplement03.eGovFrame Runtime Environment Training Book Supplement
03.eGovFrame Runtime Environment Training Book Supplement
 
Lo nuevo en Spring 3.0
Lo nuevo  en Spring 3.0Lo nuevo  en Spring 3.0
Lo nuevo en Spring 3.0
 
Developing Lightning Components for Communities.pptx
Developing Lightning Components for Communities.pptxDeveloping Lightning Components for Communities.pptx
Developing Lightning Components for Communities.pptx
 
Spring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingSpring 3 - Der dritte Frühling
Spring 3 - Der dritte Frühling
 
Spring and DWR
Spring and DWRSpring and DWR
Spring and DWR
 
Good GateIn Stuff
Good GateIn StuffGood GateIn Stuff
Good GateIn Stuff
 
Wire once, rewire twice! (Haskell exchange-2018)
Wire once, rewire twice! (Haskell exchange-2018)Wire once, rewire twice! (Haskell exchange-2018)
Wire once, rewire twice! (Haskell exchange-2018)
 
Spring tutorial
Spring tutorialSpring tutorial
Spring tutorial
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Abap proxies
Abap proxiesAbap proxies
Abap proxies
 
LA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureLA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented Architecture
 

Mais de Florian Hopf

Mais de Florian Hopf (14)

Modern Java Features
Modern Java Features Modern Java Features
Modern Java Features
 
Einführung in Elasticsearch
Einführung in ElasticsearchEinführung in Elasticsearch
Einführung in Elasticsearch
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
 
Java clients for elasticsearch
Java clients for elasticsearchJava clients for elasticsearch
Java clients for elasticsearch
 
Einfuehrung in Elasticsearch
Einfuehrung in ElasticsearchEinfuehrung in Elasticsearch
Einfuehrung in Elasticsearch
 
Data modeling for Elasticsearch
Data modeling for ElasticsearchData modeling for Elasticsearch
Data modeling for Elasticsearch
 
Einführung in Elasticsearch
Einführung in ElasticsearchEinführung in Elasticsearch
Einführung in Elasticsearch
 
Elasticsearch und die Java-Welt
Elasticsearch und die Java-WeltElasticsearch und die Java-Welt
Elasticsearch und die Java-Welt
 
Anwendungsfälle für Elasticsearch JAX 2015
Anwendungsfälle für Elasticsearch JAX 2015Anwendungsfälle für Elasticsearch JAX 2015
Anwendungsfälle für Elasticsearch JAX 2015
 
Anwendungsfälle für Elasticsearch JavaLand 2015
Anwendungsfälle für Elasticsearch JavaLand 2015Anwendungsfälle für Elasticsearch JavaLand 2015
Anwendungsfälle für Elasticsearch JavaLand 2015
 
Anwendungsfaelle für Elasticsearch
Anwendungsfaelle für ElasticsearchAnwendungsfaelle für Elasticsearch
Anwendungsfaelle für Elasticsearch
 
Search Evolution - Von Lucene zu Solr und ElasticSearch (Majug 20.06.2013)
Search Evolution - Von Lucene zu Solr und ElasticSearch (Majug 20.06.2013)Search Evolution - Von Lucene zu Solr und ElasticSearch (Majug 20.06.2013)
Search Evolution - Von Lucene zu Solr und ElasticSearch (Majug 20.06.2013)
 
Search Evolution - Von Lucene zu Solr und ElasticSearch
Search Evolution - Von Lucene zu Solr und ElasticSearchSearch Evolution - Von Lucene zu Solr und ElasticSearch
Search Evolution - Von Lucene zu Solr und ElasticSearch
 
Lucene Solr talk at Java User Group Karlsruhe
Lucene Solr talk at Java User Group KarlsruheLucene Solr talk at Java User Group Karlsruhe
Lucene Solr talk at Java User Group Karlsruhe
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Akka Presentation Schule@synyx