Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - with Vaughn Vernon

Post on 21-Feb-2017

25 views 4 download

transcript

Using the Actor Model withDomain-Driven Design (DDD) in

Reactive Systems

@VaughnVernonCopyright © 2012-2017 for{comprehension} All rights reserved.

@VaughnVernon

http://VaughnVernon.co

vaughn@forcomprehension.com

Books

Consulting and Trainingfor{comprehension}

Objects

1973 - 2003

Cores Matter

More cores, not (much) faster cores

Threading Is Easy!

Threading Is Hard!

Actor Model

Alan Kay: “The big idea is messaging...”

Carl Hewitt, 1973

Jonas Bonér, Akka

Actors AreReactive

Reactive Is

Reactive Is

Reactive Is

Reactive Is

Why the Actor Model Now?

#IoT

Because Cores

88 / 200+ cores with Xeon Phi co-processors

EmbraceLatency

MoreWithLess

Direct Asynchronous Messaging

Lock-Free, Share Nothing

Become:Prepare for Next Message

Actor System

Actor Concurrency

How Many Actors?

50+

100+

1,000,000+

Typical Architecture

Complexity Stack

Simplicity Stack

Inventor of DDD

Essence of DDD

Context Mapping

Responding to RapidNew Business Direction

DDD enables necessaryknowledge crunching

Actors and messages enablesrapid implementation and

clear understanding

Actors and DDD

Alan Kay: “The big idea is messaging...”

Alan Kay: “The Actor model retained moreof what I thought were the good

features of the object idea.”

UbiquitousLanguageAs Actors and messages...

Actor

Command Event

Actor

Command Event

Event StormingTime

Use design-level storming

Aggregates

Transactional Consistency Boundary

Aggregate

● Immutable state object/record

Implementation

● Transition and replace stateupon command

● Emit corresponding event

Reactive Systems

Read: Designing Reactive Systems With The Actor Model (free O'Reilly book)

Watch: Benefits Of The Actor Model For Cloud Computing: A Pragmatic Overview For Java Architects (co-presented with Forrester Research)

Learn from experts: ask about our Embedded Lightbend Engineer (ELE) forkickstarting your Reactive initiatives

More Resources You May Enjoy…

MICROSERVICES. FAST DATA PIPELINES. DISTRIBUTED SYSTEMS.

Austin (TX) - October 18-20, 2017

reactivesummit.org

@VaughnVernon

vaughn@forcomprehension.com

for{comprehension}