SlideShare a Scribd company logo
Akka Persistence Journal
Ikuo Matsumura
CyberAgent, Inc.
2017-05-14, Scala
Akka Persistence
Actor
•
• Actor -> supervisor strategy
• JVM
• JVM
•
2017-05-14, Scala 2
Akka Persistence Journal
• Event Sourcing API
• Ka4a, Cassandra, DynamoDB, Redis plugin
• Actor
• Snapshot
2017-05-14, Scala 3
"it stores a complete history
of the events associated with
the aggregates in your
domain"
— Reference 3: Introducing Event Sourcing, CQRS
Journey1
1
Dominic Be+s, Julian Dominguez, Grigori Melnik, Fernando Simonazzi, Mani Subramanian,
Exploring CQRS and Event Sourcing, 2012, h+ps://msdn.microsoC.com/en-us/library/
jj554200.aspx
2017-05-14, Scala
( )
• /JVM
•
•
• " " Actor
• , Cameo Pa3ern
2017-05-14, Scala 5
: 1 1Actor,
2017-05-14, Scala 6
Snapshot
2017-05-14, Scala 7
1. (expire)
• Ka.a, Kinesis, Cassandra, DynamoDB, Redis etc.
2. LRU (evict)
• Redis etc.
2017-05-14, Scala 8
2017-05-14, Scala 9
1 - remember-en))es
akka.cluster.sharding {
remember-entities = on
}
JVM
!
! actor ID
→ (?)
2017-05-14, Scala 10
2 - Persistence Query
val src: Source[String, NotUsed] = // persistenceId
PersistenceQuery(system)
.readJournalFor[ScalaReadJournal](
"akka-persistence-redis.read-journal") // Redis
.currentPersistenceIds
src.mapAsyncUnordered(...)( // Akka Stream
persistenceId => (persistenceId))
.runWith(Sink.ignore)
!
"
2017-05-14, Scala 11
: Persistence Query
Redis Journal ,
(JVM) 32GB RAM / 8core
• 15 , Actor
• Cat - Sharding Actor Meow ,
3meout=2
• Sweeper - ID 2
, Cluster Singleton
• : Meow
2
snapshot Redis Journal delete
2017-05-14, Scala 12
: Actor 400 9GB (→ 1000 20GB)
2017-05-14, Scala 13
: Actor 90 10 (→ 1000 2 )
2017-05-14, Scala 14
• Akka Persistence Journal
•
• rememberEn55es, Persistence Query
• Redis Persistence Query
• Actor 1000 ,
• : h?ps://github.com/ikuo/cat-cluster
2017-05-14, Scala 15

More Related Content

PDF
Resilient Microservices Architecture with kubernetes
PDF
Event driven workloads on Kubernetes with KEDA
PDF
Getting started with Serverless applications on Microsoft Azure
PPTX
Rapid Application Deployment with Play Framework
PPTX
Tokyo Azure Meetup #29 AKS
PDF
Event driven autoscaling with KEDA
PDF
Building cloud native apps with .net core 3.0 and kubernetes
PDF
Application Insights on Rails Application
Resilient Microservices Architecture with kubernetes
Event driven workloads on Kubernetes with KEDA
Getting started with Serverless applications on Microsoft Azure
Rapid Application Deployment with Play Framework
Tokyo Azure Meetup #29 AKS
Event driven autoscaling with KEDA
Building cloud native apps with .net core 3.0 and kubernetes
Application Insights on Rails Application

What's hot (20)

PDF
Scaling .net containers with event driven workloads
PDF
Scaling containers with KEDA
PPTX
Introduction to Promitor
PDF
Elastic{ON} Seminar New York (2017)
PDF
Big data for dot net Devs with Spark
PPTX
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...
PDF
Improve monitoring and observability for kubernetes with oss tools
PDF
Resillient microservices with AKS
PDF
Global Azure Bootcamp 2018 - Using Azure Functions and Microsoft Cognitive Se...
PDF
Autoscaling containers with event driven workloads
PPTX
Integrate UK 2019 - Adventures of building a (multi-tenant) PaaS on Microsoft...
PDF
Serverless Event Driven Containers with KEDA
PDF
Azure containers fundamentals
PPTX
Global Azure Virtual - Application Autoscaling with KEDA
PPTX
NDC London 2021 - Application Autoscaling Made Easy With Kubernetes Event-Dri...
PDF
サイボウズの開発を支える GitHub × CircleCI
PPTX
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
PDF
Cncf event driven autoscaling with keda
PDF
Scaling containers with keda
PDF
Monitoring kubernetes wwith prometheus and grafana azure singapore - 19 aug...
Scaling .net containers with event driven workloads
Scaling containers with KEDA
Introduction to Promitor
Elastic{ON} Seminar New York (2017)
Big data for dot net Devs with Spark
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...
Improve monitoring and observability for kubernetes with oss tools
Resillient microservices with AKS
Global Azure Bootcamp 2018 - Using Azure Functions and Microsoft Cognitive Se...
Autoscaling containers with event driven workloads
Integrate UK 2019 - Adventures of building a (multi-tenant) PaaS on Microsoft...
Serverless Event Driven Containers with KEDA
Azure containers fundamentals
Global Azure Virtual - Application Autoscaling with KEDA
NDC London 2021 - Application Autoscaling Made Easy With Kubernetes Event-Dri...
サイボウズの開発を支える GitHub × CircleCI
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
Cncf event driven autoscaling with keda
Scaling containers with keda
Monitoring kubernetes wwith prometheus and grafana azure singapore - 19 aug...
Ad

Similar to Akka PersistenceのJournalのライフサイクル管理 (20)

PDF
20180309 DLIもくもく会 Deep Learning on AWS
PDF
Amazon SageMaker 紹介 & ハンズオン(2018/07/03 実施)
PDF
Running Spark In Production in the Cloud is Not Easy with Nayur Khan
PDF
クローラーをテストしよう!
PDF
20181027 deep learningcommunity_aws
PDF
Cloud Foundry Container Runtimeで快適Kubernetes運用
PDF
Apereo CAS: State of the Project 2018
POTX
Adopt-a-jsr Mar 1 2017 JAX-RS update
PDF
Angular2 + AWS Lambdaでサーバサイドレンダリングしてみた
PDF
Sinatraで触れる生SQL
PDF
Wait! What’s going on inside my database? (PASS 2023 Update)
PDF
Vue Fes Japan 2018 参加レポート
PDF
How elasticsearch powers the Guardian's newsroom
PDF
Heterogeneous Data Mining with Spark
PPTX
Evolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft Azure
PDF
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)
PDF
いそがしいひとのための Microsoft Ignite 2018 + 最新情報 Data & AI 編
PPTX
GeeCON Prague : Building a Smart Security Camera with Raspberry Pi Zero, Java...
PDF
Running your Java EE 6 applications in the Cloud
KEY
State of the art - server side JavaScript - web-5 2012
20180309 DLIもくもく会 Deep Learning on AWS
Amazon SageMaker 紹介 & ハンズオン(2018/07/03 実施)
Running Spark In Production in the Cloud is Not Easy with Nayur Khan
クローラーをテストしよう!
20181027 deep learningcommunity_aws
Cloud Foundry Container Runtimeで快適Kubernetes運用
Apereo CAS: State of the Project 2018
Adopt-a-jsr Mar 1 2017 JAX-RS update
Angular2 + AWS Lambdaでサーバサイドレンダリングしてみた
Sinatraで触れる生SQL
Wait! What’s going on inside my database? (PASS 2023 Update)
Vue Fes Japan 2018 参加レポート
How elasticsearch powers the Guardian's newsroom
Heterogeneous Data Mining with Spark
Evolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft Azure
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)
いそがしいひとのための Microsoft Ignite 2018 + 最新情報 Data & AI 編
GeeCON Prague : Building a Smart Security Camera with Raspberry Pi Zero, Java...
Running your Java EE 6 applications in the Cloud
State of the art - server side JavaScript - web-5 2012
Ad

Recently uploaded (20)

PDF
Structs to JSON How Go Powers REST APIs.pdf
PPTX
Internet of Things (IOT) - A guide to understanding
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
OOP with Java - Java Introduction (Basics)
DOCX
573137875-Attendance-Management-System-original
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PDF
ETO & MEO Certificate of Competency Questions and Answers
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Well-logging-methods_new................
PPTX
MET 305 MODULE 1 KTU 2019 SCHEME 25.pptx
PDF
composite construction of structures.pdf
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Welding lecture in detail for understanding
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPT
Drone Technology Electronics components_1
Structs to JSON How Go Powers REST APIs.pdf
Internet of Things (IOT) - A guide to understanding
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Strings in CPP - Strings in C++ are sequences of characters used to store and...
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
OOP with Java - Java Introduction (Basics)
573137875-Attendance-Management-System-original
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
ETO & MEO Certificate of Competency Questions and Answers
CYBER-CRIMES AND SECURITY A guide to understanding
Well-logging-methods_new................
MET 305 MODULE 1 KTU 2019 SCHEME 25.pptx
composite construction of structures.pdf
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Welding lecture in detail for understanding
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Operating System & Kernel Study Guide-1 - converted.pdf
Arduino robotics embedded978-1-4302-3184-4.pdf
Drone Technology Electronics components_1

Akka PersistenceのJournalのライフサイクル管理

  • 1. Akka Persistence Journal Ikuo Matsumura CyberAgent, Inc. 2017-05-14, Scala
  • 2. Akka Persistence Actor • • Actor -> supervisor strategy • JVM • JVM • 2017-05-14, Scala 2
  • 3. Akka Persistence Journal • Event Sourcing API • Ka4a, Cassandra, DynamoDB, Redis plugin • Actor • Snapshot 2017-05-14, Scala 3
  • 4. "it stores a complete history of the events associated with the aggregates in your domain" — Reference 3: Introducing Event Sourcing, CQRS Journey1 1 Dominic Be+s, Julian Dominguez, Grigori Melnik, Fernando Simonazzi, Mani Subramanian, Exploring CQRS and Event Sourcing, 2012, h+ps://msdn.microsoC.com/en-us/library/ jj554200.aspx 2017-05-14, Scala
  • 5. ( ) • /JVM • • • " " Actor • , Cameo Pa3ern 2017-05-14, Scala 5
  • 8. 1. (expire) • Ka.a, Kinesis, Cassandra, DynamoDB, Redis etc. 2. LRU (evict) • Redis etc. 2017-05-14, Scala 8
  • 10. 1 - remember-en))es akka.cluster.sharding { remember-entities = on } JVM ! ! actor ID → (?) 2017-05-14, Scala 10
  • 11. 2 - Persistence Query val src: Source[String, NotUsed] = // persistenceId PersistenceQuery(system) .readJournalFor[ScalaReadJournal]( "akka-persistence-redis.read-journal") // Redis .currentPersistenceIds src.mapAsyncUnordered(...)( // Akka Stream persistenceId => (persistenceId)) .runWith(Sink.ignore) ! " 2017-05-14, Scala 11
  • 12. : Persistence Query Redis Journal , (JVM) 32GB RAM / 8core • 15 , Actor • Cat - Sharding Actor Meow , 3meout=2 • Sweeper - ID 2 , Cluster Singleton • : Meow 2 snapshot Redis Journal delete 2017-05-14, Scala 12
  • 13. : Actor 400 9GB (→ 1000 20GB) 2017-05-14, Scala 13
  • 14. : Actor 90 10 (→ 1000 2 ) 2017-05-14, Scala 14
  • 15. • Akka Persistence Journal • • rememberEn55es, Persistence Query • Redis Persistence Query • Actor 1000 , • : h?ps://github.com/ikuo/cat-cluster 2017-05-14, Scala 15