Akka.NET The Future of Distributed Programming in .NET

Slides:



Advertisements
Similar presentations
Distributed Xrootd Derek Weitzel & Brian Bockelman.
Advertisements

NDN in Local Area Networks Junxiao Shi The University of Arizona
The Case for Drill-Ready Cloud Computing Vision Paper Tanakorn Leesatapornwongsa and Haryadi S. Gunawi 1.
Sinfonia: A New Paradigm for Building Scalable Distributed Systems Marcos K. Aguilera, Arif Merchant, Mehul Shah, Alistair Veitch, Christonos Karamanolis.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Presentation by Krishna
©Silberschatz, Korth and Sudarshan18.1Database System Concepts Centralized Systems Run on a single computer system and do not interact with other computer.
Manage & Configure SQL Database on the Cloud Haishi Bai Technical Evangelist Microsoft.
Failure Spread in Redundant UMTS Core Network n Author: Tuomas Erke, Helsinki University of Technology n Supervisor: Timo Korhonen, Professor of Telecommunication.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Managing a Cloud For Multi Agent System By, Pruthvi Pydimarri, Jaya Chandra Kumar Batchu.
High Throughput Computing on P2P Networks Carlos Pérez Miguel
NoSQL Databases Oracle - Berkeley DB. Content A brief intro to NoSQL About Berkeley Db About our application.
IMDGs An essential part of your architecture. About me
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
CAP + Clocks Time keeps on slipping, slipping…. Logistics Last week’s slides online Sign up on Piazza now – No really, do it now Papers are loaded in.
HP Overview. HP Overview is a family of integrated network and system management solution for managing the complete IT enterprises, including networks,
MapReduce and GFS. Introduction r To understand Google’s file system let us look at the sort of processing that needs to be done r We will look at MapReduce.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
Chord Advanced issues. Analysis Theorem. Search takes O (log N) time (Note that in general, 2 m may be much larger than N) Proof. After log N forwarding.
CAP Theorem Justin DeBrabant CIS Advanced Systems - Fall 2013.
MQTT QoS2 Considerations Konstantin Dotchkoff. Challenges associated with implementing QoS 2 in large scale distributed systems Replication of QoS 2 messages.
Oracle Database Architecture By Ayesha Manzer. Automatic Storage Management Spreads database data across all disks Creates and maintains a storage grid.
State Machine Replication State Machine Replication through transparent distributed protocols State Machine Replication through a shared log.
OSIsoft High Availability PI Replication Colin Breck, PI Server Team Dave Oda, PI SDK Team.
Lecture 17 Page 1 CS 188,Winter 2015 A Design Problem in Distributed Systems CS 188 Distributed Systems March 10, 2015.
1 Generalized Data Naming and Scalable State Announcement for SRM Suchitra Raman Steven McCanne Computer Science Division University of California, Berkeley.
Failing gracefully With the actor model Roger Johansson
NO SQL for SQL DBA Dilip Nayak & Dan Hess.
Distributed, real-time actionable insights on high-volume data streams
Cluster-Based Scalable
Cassandra - A Decentralized Structured Storage System
Architecture and Algorithms for an IEEE 802
Distributed Cache Technology in Cloud Computing and its Application in the GIS Software Wang Qi Zhu Yitong Peng Cheng
Introduction to Distributed Platforms
Slicer: Auto-Sharding for Datacenter Applications
The Case for a Session State Storage Layer
Integrating HA Legacy Products into OpenSAF based system
Distributed Systems – Paxos
Scaling Apache Flink® to very large State
Open Source distributed document DB for an enterprise
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Noah Treuhaft UC Berkeley ROC Group ROC Retreat, January 2002
NOSQL.
Couchbase Server is a NoSQL Database with a SQL-Based Query Language
Database Concepts.
Introduction to NewSQL
COS 418: Distributed Systems Lecture 6 Daniel Suo
EIN 6133 Enterprise Engineering
NOSQL databases and Big Data Storage Systems
Consistency in Distributed Systems
CAP THEOREM Have the rules really changed?
NoSQL Databases An Overview
Implementing Consistency -- Paxos
The Single Node B-tree for Highly Concurrent Distributed Data Structures by Barbara Hohlt 11/23/2018.
Chord Advanced issues.
Evolution of messaging systems and event driven architecture
Chord Advanced issues.
Virtualization, Cloud Computing, and TeraGrid
Fault Tolerant Distributed Computing system.
Chord Advanced issues.
Assignment 5 - Solution Problem 1
Clustering and Distributed Data: The Winning Combination?
Scalable Causal Consistency
Causal Consistency and Two-Phase Commit
Transaction Properties: ACID vs. BASE
Replicated state machine and Paxos
Deterministic and Semantically Organized Network Topology
Implementing Consistency -- Paxos
Building highly scalable enterprise systems (on Azure)
Presentation transcript:

Akka.NET The Future of Distributed Programming in .NET Aaron Stannard, Co-founder Akka.NET @Aaronontheweb

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

Scenario 2: Real-time User Interactivity

Obvious Solution: Read-after-Write

Reality

Why is Distributed Programming Hard?

Enter the Actor Model

Actor Model Core Concepts

Actor Model for .NET

Akka.NET Modules Akka – core actor library Akka.Remote – cross-node actor deployment / communication Akka.Cluster – elastic actor networks (HA) Akka.Persistence – event-sourcing, durable actor state & recovery Akka.Streams – streaming workflows Akka.Cluster.Tools – cluster singleton, distributed pub sub Akka.Cluster.Sharding – durable state partitioning Akka.DData – eventually consistent data replication

What's an Actor?

Actors live in a family tree

Actors process one message at a time

Properties of Messages

Messaging Patterns

Messaging Protocols

Communicate with Actors via Reference

Actor References Have Transparent Locations

Akka.Remote & Akka.Cluster: Location Doesn't Matter

Benefits of Clustering

Elastic (Join)

Elastic (Leave)

No Configuration Changes

Recover from Failures

Decentralized

Fastest Response Time?

Stateful Apps Serve Results from Memory

State Locality

State Makes Protocols Work

CAP Theorem

CAP Terminologies

CAP & Protocols

Clustering is for AP (by default)

Fault and Resource Isolation with Actors

Actor Lifecycle Phases

"Just let it crash"

DeathWatch: Subscribe to Actors' Lifecycle

Petabridge