Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Марк Ткаченко "Virtual actors: что, как и зачем"

DotNetRu
December 14, 2019

Марк Ткаченко "Virtual actors: что, как и зачем"

Поговорим о модели виртуальных акторов в контексте первой их реализации — Microsoft Orleans — что привело к созданию, какие проблемы классической модели решались, какие инструменты имеются на сегодня.

DotNetRu

December 14, 2019
Tweet

More Decks by DotNetRu

Other Decks in Programming

Transcript

  1. We use Akka: why? 2 • CQRS + ES •

    Scalable parallelism • Easier state managment
  2. Universal primitive of concurrent computation • Maintain its own private

    state • Send messages • Receive messages • Create more actors 13 Actor
  3. • In-memory • Sequential message processing • No shared state

    • Asynchronous messaging • Automatic thread management 15 Advantages
  4. • Erlang • Facebook WhatsApp (Erlang) • RabbitMQ (Erlang) •

    CouchDB (Erlang) • LinkedIn (JVM Akka) • Walmart (JVM Akka) • Blizzard (JVM Akka) 16 Usages
  5. 24 Key concepts • Perpetual existence • Automatic instantiation •

    Location transparency • Automatic scale out
  6. 25 Virtual vs Classic Actor Implicit lifetime management Manual create

    and shutdown Implicit messaging (async method calls) Explicit messaging Automatic Actor placement Manual Actor placement No hierarchy Hierarchy At least once message delivery At most once message delivery You don’t know physical location Address reflects location
  7. 45 Orleans history • Started in Microsoft Research - 2009

    • In production – 2011 • Halo 4 – 2012 • Public preview – 2014 • GitHub (MIT) - 2015
  8. 47 Links • A Universal Modular ACTOR Formalism for Artificial

    Intelligence • Orleans: Distributed Virtual Actors for Programmability and Scalability • Microsoft Orleans • How to build real-world applications with Orleans • Distributed Transactions are dead