SlideShare une entreprise Scribd logo
1  sur  35
CONCURRENCY WITHOUT
THE PAIN: INTRODUCTION
TO AKKA.NET - AARON
STANNARD
About Me @Aaronontheweb
• .NET Developer since 2005
• Worked at Microsoft (Developer Evangelism)
• CEO and Founder of MarkedUp Analytics (Big Data +
Windows client)
• OSSed lots of .NET infrastructure software @ MarkedUp
• Akka.NET, Helios, and others
• Started Petabridge in 2015
• Commercial support for Akka.NET
• Customers include Bank of America, Dell, Boeing, McGraw Hill
Financial, Balfour Beatty, B+D, and lots of others
High Expectations for Backend Developers
And the obvious ways to
scale are wrong.
Enterprise CRUD App
Scenario 1: Surge in User Activity
Obvious Solution: Sharding
Brittle
New App Requirements
Multithreaded Proc
New App Requirements
How to Write Multithreaded Code
Shared State Programming Sucks (Illustrated)
Enter the Actor Model
Akka.NET implements the actor model
Actor Model Core Concepts
What's an Actor?
What's an Actor?
Actors have internal state
Actor state is always private,
modified when handling
messages, only shared via
immutable messages
Actors process messages serially
Many actors can process messages
concurrently
Many actors can process messages
concurrently
Actors are lazy
• No messages? No work.
• Only one message at a time
• 1 thread = thousands of actors
• Because actors only do a small
amount of work each time
Actor lifecycle phases
Actor lifecycle phases,(with methods)
Actors live in a family tree
Actors on the Network
Communicate with Actors via Reference
Actor References Have Transparent Locations
Actors all have a unique address
• Globally unique addresses:
• HTTP URLs
• Email addresses
• Phone numbers
• Messages are sent to an address,
not an actor
• Decouples sender and receiver
Actor address in Akka.NET
Akka.Remote & Akka.Cluster: Location
Doesn't Matter
Petabridge

Contenu connexe

Tendances

Tendances (9)

apidays LIVE New York 2021 - Designing embedded platforms: Lessons from indus...
apidays LIVE New York 2021 - Designing embedded platforms: Lessons from indus...apidays LIVE New York 2021 - Designing embedded platforms: Lessons from indus...
apidays LIVE New York 2021 - Designing embedded platforms: Lessons from indus...
 
Implementing DDD Concepts in PHP
Implementing DDD Concepts in PHPImplementing DDD Concepts in PHP
Implementing DDD Concepts in PHP
 
Hybrid vs Native vs Web Apps
Hybrid vs Native vs Web AppsHybrid vs Native vs Web Apps
Hybrid vs Native vs Web Apps
 
eGrove Systems Review - "Native Vs Hybrid Apps"
eGrove Systems Review - "Native Vs Hybrid Apps"eGrove Systems Review - "Native Vs Hybrid Apps"
eGrove Systems Review - "Native Vs Hybrid Apps"
 
Test Automation for Mobile Apps..
Test Automation for Mobile Apps..Test Automation for Mobile Apps..
Test Automation for Mobile Apps..
 
PropertyGuru is Hiring. iOS / Android Engineer (Bangkok, Thailand)
PropertyGuru is Hiring. iOS / Android Engineer (Bangkok, Thailand)PropertyGuru is Hiring. iOS / Android Engineer (Bangkok, Thailand)
PropertyGuru is Hiring. iOS / Android Engineer (Bangkok, Thailand)
 
Rhodes in a nutshell : Jan, ROR MEETUP
Rhodes in a nutshell : Jan, ROR MEETUP Rhodes in a nutshell : Jan, ROR MEETUP
Rhodes in a nutshell : Jan, ROR MEETUP
 
Onion architecture
Onion architectureOnion architecture
Onion architecture
 
How And Why To Dogfood Your API
How And Why To Dogfood Your APIHow And Why To Dogfood Your API
How And Why To Dogfood Your API
 

Similaire à Akka.NET: Concurrency without the Pain (20)

Alpana_Srivastava
Alpana_SrivastavaAlpana_Srivastava
Alpana_Srivastava
 
Thiruthuvadoss profile
Thiruthuvadoss profileThiruthuvadoss profile
Thiruthuvadoss profile
 
Prasanth_CV
Prasanth_CVPrasanth_CV
Prasanth_CV
 
resumese_detailed_fp
resumese_detailed_fpresumese_detailed_fp
resumese_detailed_fp
 
Resume-Manish_Agrahari_IBM_BPM
Resume-Manish_Agrahari_IBM_BPMResume-Manish_Agrahari_IBM_BPM
Resume-Manish_Agrahari_IBM_BPM
 
BadesahebKBichu
BadesahebKBichuBadesahebKBichu
BadesahebKBichu
 
ashishtripathi
ashishtripathiashishtripathi
ashishtripathi
 
Net, MVC 3+ years Experience
Net, MVC 3+ years ExperienceNet, MVC 3+ years Experience
Net, MVC 3+ years Experience
 
new final CV
new final CVnew final CV
new final CV
 
Resume
ResumeResume
Resume
 
Resume(1)
Resume(1)Resume(1)
Resume(1)
 
Bharath
BharathBharath
Bharath
 
Supriya Saha Resume
Supriya Saha ResumeSupriya Saha Resume
Supriya Saha Resume
 
Malli Resume_30 Jun 2012
Malli Resume_30 Jun 2012Malli Resume_30 Jun 2012
Malli Resume_30 Jun 2012
 
niranjan
niranjanniranjan
niranjan
 
RAGHUL_RAJA_DOTNET__RESUME
RAGHUL_RAJA_DOTNET__RESUMERAGHUL_RAJA_DOTNET__RESUME
RAGHUL_RAJA_DOTNET__RESUME
 
Amit_Resume
Amit_ResumeAmit_Resume
Amit_Resume
 
Profile_Hadoop
Profile_HadoopProfile_Hadoop
Profile_Hadoop
 
Chandrasekharmeruva
ChandrasekharmeruvaChandrasekharmeruva
Chandrasekharmeruva
 
Bowen Gao resume 2016 (2)
Bowen Gao resume 2016 (2)Bowen Gao resume 2016 (2)
Bowen Gao resume 2016 (2)
 

Plus de petabridge

Plus de petabridge (20)

NET Systems Programming Learned the Hard Way.pptx
NET Systems Programming Learned the Hard Way.pptxNET Systems Programming Learned the Hard Way.pptx
NET Systems Programming Learned the Hard Way.pptx
 
DotNext 2020 - When and How to Use the Actor Model and Akka.NET
DotNext 2020 - When and How to Use the Actor Model and Akka.NETDotNext 2020 - When and How to Use the Actor Model and Akka.NET
DotNext 2020 - When and How to Use the Actor Model and Akka.NET
 
.NET Conf 2019 When and How to Use the Actor Model: an Introduction to Akka...
.NET Conf 2019   When and How to Use the Actor Model: an Introduction to Akka....NET Conf 2019   When and How to Use the Actor Model: an Introduction to Akka...
.NET Conf 2019 When and How to Use the Actor Model: an Introduction to Akka...
 
Continuous Deployment with Akka.Cluster and Kubernetes (Akka.NET)
Continuous Deployment with Akka.Cluster and Kubernetes (Akka.NET)Continuous Deployment with Akka.Cluster and Kubernetes (Akka.NET)
Continuous Deployment with Akka.Cluster and Kubernetes (Akka.NET)
 
Introduction to Distributed Tracing
Introduction to Distributed TracingIntroduction to Distributed Tracing
Introduction to Distributed Tracing
 
Introduction to Akka.NET and Akka.Cluster
Introduction to Akka.NET and Akka.ClusterIntroduction to Akka.NET and Akka.Cluster
Introduction to Akka.NET and Akka.Cluster
 
Automed .NET Performance Testing with NBench
Automed .NET Performance Testing with NBenchAutomed .NET Performance Testing with NBench
Automed .NET Performance Testing with NBench
 
We're all distributed systems devs now: a crash course in distributed program...
We're all distributed systems devs now: a crash course in distributed program...We're all distributed systems devs now: a crash course in distributed program...
We're all distributed systems devs now: a crash course in distributed program...
 
The New .NET Enterprise Stack
The New .NET Enterprise StackThe New .NET Enterprise Stack
The New .NET Enterprise Stack
 
Full-Stack, Message-oriented Programming w/ Akka.NET Actors
Full-Stack, Message-oriented Programming w/ Akka.NET ActorsFull-Stack, Message-oriented Programming w/ Akka.NET Actors
Full-Stack, Message-oriented Programming w/ Akka.NET Actors
 
OSS From the Outside In - A Personal Journey With Akka.NET
OSS From the Outside In - A Personal Journey With Akka.NETOSS From the Outside In - A Personal Journey With Akka.NET
OSS From the Outside In - A Personal Journey With Akka.NET
 
Concurrency, Without the Pain: An Intro to Akka.NET @ Bay.NET
Concurrency, Without the Pain: An Intro to Akka.NET @ Bay.NETConcurrency, Without the Pain: An Intro to Akka.NET @ Bay.NET
Concurrency, Without the Pain: An Intro to Akka.NET @ Bay.NET
 
Syncromatics Akka.NET Case Study
Syncromatics Akka.NET Case StudySyncromatics Akka.NET Case Study
Syncromatics Akka.NET Case Study
 
Akka.NET @ London.NET
Akka.NET @ London.NETAkka.NET @ London.NET
Akka.NET @ London.NET
 
Akka.NET Fundamentals — #ProgNet15
Akka.NET Fundamentals — #ProgNet15Akka.NET Fundamentals — #ProgNet15
Akka.NET Fundamentals — #ProgNet15
 
Slides - Intro to Akka.Cluster
Slides - Intro to Akka.ClusterSlides - Intro to Akka.Cluster
Slides - Intro to Akka.Cluster
 
Akka.NET: Concurrency Without the Pain (Intro to the Actor Model)
Akka.NET: Concurrency Without the Pain (Intro to the Actor Model)Akka.NET: Concurrency Without the Pain (Intro to the Actor Model)
Akka.NET: Concurrency Without the Pain (Intro to the Actor Model)
 
Distributed Transactions in Akka.NET
Distributed Transactions in Akka.NETDistributed Transactions in Akka.NET
Distributed Transactions in Akka.NET
 
Streaming ETL With Akka.NET
Streaming ETL With Akka.NETStreaming ETL With Akka.NET
Streaming ETL With Akka.NET
 
2 12-2015 - Cassandra Day LA - Using DataStax Enterprise and Actor Systems fo...
2 12-2015 - Cassandra Day LA - Using DataStax Enterprise and Actor Systems fo...2 12-2015 - Cassandra Day LA - Using DataStax Enterprise and Actor Systems fo...
2 12-2015 - Cassandra Day LA - Using DataStax Enterprise and Actor Systems fo...
 

Dernier

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Dernier (20)

Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 

Akka.NET: Concurrency without the Pain