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

What's hot

Scaling .net containers with event driven workloads
Scaling .net containers with event driven workloadsScaling .net containers with event driven workloads
Scaling .net containers with event driven workloads
Nilesh Gule
 
Scaling containers with KEDA
Scaling containers with KEDAScaling containers with KEDA
Scaling containers with KEDA
Nilesh Gule
 
Introduction to Promitor
Introduction to PromitorIntroduction to Promitor
Introduction to Promitor
Tom Kerkhove
 
Elastic{ON} Seminar New York (2017)
Elastic{ON} Seminar New York (2017)Elastic{ON} Seminar New York (2017)
Elastic{ON} Seminar New York (2017)
Franklin Angulo
 
Big data for dot net Devs with Spark
Big data for dot net Devs with SparkBig data for dot net Devs with Spark
Big data for dot net Devs with Spark
Nilesh Gule
 
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...
AZUG Lightning Talk - Application autoscaling on Kubernetes with Kubernetes E...
Tom Kerkhove
 
Improve monitoring and observability for kubernetes with oss tools
Improve monitoring and observability for kubernetes with oss toolsImprove monitoring and observability for kubernetes with oss tools
Improve monitoring and observability for kubernetes with oss tools
Nilesh Gule
 
Resillient microservices with AKS
Resillient microservices with AKSResillient microservices with AKS
Resillient microservices with AKS
Nilesh Gule
 
Global Azure Bootcamp 2018 - Using Azure Functions and Microsoft Cognitive Se...
Global Azure Bootcamp 2018 - Using Azure Functions and Microsoft Cognitive Se...Global Azure Bootcamp 2018 - Using Azure Functions and Microsoft Cognitive Se...
Global Azure Bootcamp 2018 - Using Azure Functions and Microsoft Cognitive Se...
George Spyrou
 
Autoscaling containers with event driven workloads
Autoscaling containers with event driven workloadsAutoscaling containers with event driven workloads
Autoscaling containers with event driven workloads
Nilesh Gule
 
Integrate UK 2019 - Adventures of building a (multi-tenant) PaaS on Microsoft...
Integrate UK 2019 - Adventures of building a (multi-tenant) PaaS on Microsoft...Integrate UK 2019 - Adventures of building a (multi-tenant) PaaS on Microsoft...
Integrate UK 2019 - Adventures of building a (multi-tenant) PaaS on Microsoft...
Tom Kerkhove
 
Serverless Event Driven Containers with KEDA
Serverless Event Driven Containers with KEDAServerless Event Driven Containers with KEDA
Serverless Event Driven Containers with KEDA
Nilesh Gule
 
Azure containers fundamentals
Azure containers fundamentalsAzure containers fundamentals
Azure containers fundamentals
Nilesh Gule
 
Global Azure Virtual - Application Autoscaling with KEDA
Global Azure Virtual - Application Autoscaling with KEDAGlobal Azure Virtual - Application Autoscaling with KEDA
Global Azure Virtual - Application Autoscaling with KEDA
Tom Kerkhove
 
NDC London 2021 - Application Autoscaling Made Easy With Kubernetes Event-Dri...
NDC London 2021 - Application Autoscaling Made Easy With Kubernetes Event-Dri...NDC London 2021 - Application Autoscaling Made Easy With Kubernetes Event-Dri...
NDC London 2021 - Application Autoscaling Made Easy With Kubernetes Event-Dri...
Tom Kerkhove
 
サイボウズの開発を支える GitHub × CircleCI
サイボウズの開発を支える GitHub × CircleCIサイボウズの開発を支える GitHub × CircleCI
サイボウズの開発を支える GitHub × CircleCI
Jumpei Miyata
 
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
Application Autoscaling Made Easy with Kubernetes Event-Driven Autoscaling (K...
Codit
 
Cncf event driven autoscaling with keda
Cncf   event driven autoscaling with kedaCncf   event driven autoscaling with keda
Cncf event driven autoscaling with keda
JurajHantk
 
Scaling containers with keda
Scaling containers  with kedaScaling containers  with keda
Scaling containers with keda
Nilesh Gule
 
Monitoring kubernetes wwith prometheus and grafana azure singapore - 19 aug...
Monitoring kubernetes wwith prometheus and grafana   azure singapore - 19 aug...Monitoring kubernetes wwith prometheus and grafana   azure singapore - 19 aug...
Monitoring kubernetes wwith prometheus and grafana azure singapore - 19 aug...
Nilesh Gule
 

What's hot (20)

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

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

20180309 DLIもくもく会 Deep Learning on AWS
20180309 DLIもくもく会 Deep Learning on AWS20180309 DLIもくもく会 Deep Learning on AWS
20180309 DLIもくもく会 Deep Learning on AWS
Yasuhiro Matsuo
 
Amazon SageMaker 紹介 & ハンズオン(2018/07/03 実施)
Amazon SageMaker 紹介 & ハンズオン(2018/07/03 実施)Amazon SageMaker 紹介 & ハンズオン(2018/07/03 実施)
Amazon SageMaker 紹介 & ハンズオン(2018/07/03 実施)
Amazon Web Services Japan
 
Netflix Keystone SPaaS: Real-time Stream Processing as a Service - ABD320 - r...
Netflix Keystone SPaaS: Real-time Stream Processing as a Service - ABD320 - r...Netflix Keystone SPaaS: Real-time Stream Processing as a Service - ABD320 - r...
Netflix Keystone SPaaS: Real-time Stream Processing as a Service - ABD320 - r...
Amazon Web Services
 
Running Spark In Production in the Cloud is Not Easy with Nayur Khan
Running Spark In Production in the Cloud is Not Easy with Nayur KhanRunning Spark In Production in the Cloud is Not Easy with Nayur Khan
Running Spark In Production in the Cloud is Not Easy with Nayur Khan
Databricks
 
クローラーをテストしよう!
クローラーをテストしよう!クローラーをテストしよう!
クローラーをテストしよう!
Kazuki Morozumi
 
20181027 deep learningcommunity_aws
20181027 deep learningcommunity_aws20181027 deep learningcommunity_aws
20181027 deep learningcommunity_aws
Hirokuni Uchida
 
Cloud Foundry Container Runtimeで快適Kubernetes運用
Cloud Foundry Container Runtimeで快適Kubernetes運用Cloud Foundry Container Runtimeで快適Kubernetes運用
Cloud Foundry Container Runtimeで快適Kubernetes運用
Kazuto Kusama
 
Apereo CAS: State of the Project 2018
Apereo CAS: State of the Project 2018Apereo CAS: State of the Project 2018
Apereo CAS: State of the Project 2018
Misagh Moayyed
 
Adopt-a-jsr Mar 1 2017 JAX-RS update
Adopt-a-jsr Mar 1 2017 JAX-RS updateAdopt-a-jsr Mar 1 2017 JAX-RS update
Adopt-a-jsr Mar 1 2017 JAX-RS update
Pavel Bucek
 
Angular2 + AWS Lambdaでサーバサイドレンダリングしてみた
Angular2 + AWS LambdaでサーバサイドレンダリングしてみたAngular2 + AWS Lambdaでサーバサイドレンダリングしてみた
Angular2 + AWS Lambdaでサーバサイドレンダリングしてみた
暁 三宅
 
Sinatraで触れる生SQL
Sinatraで触れる生SQLSinatraで触れる生SQL
Sinatraで触れる生SQL
treby
 
Wait! What’s going on inside my database? (PASS 2023 Update)
Wait! What’s going on inside my database? (PASS 2023 Update)Wait! What’s going on inside my database? (PASS 2023 Update)
Wait! What’s going on inside my database? (PASS 2023 Update)
Jeremy Schneider
 
(BDT318) How Netflix Handles Up To 8 Million Events Per Second
(BDT318) How Netflix Handles Up To 8 Million Events Per Second(BDT318) How Netflix Handles Up To 8 Million Events Per Second
(BDT318) How Netflix Handles Up To 8 Million Events Per Second
Amazon Web Services
 
Vue Fes Japan 2018 参加レポート
Vue Fes Japan 2018 参加レポートVue Fes Japan 2018 参加レポート
Vue Fes Japan 2018 参加レポート
yamamotokaoruko
 
How elasticsearch powers the Guardian's newsroom
How elasticsearch powers the Guardian's newsroomHow elasticsearch powers the Guardian's newsroom
How elasticsearch powers the Guardian's newsroom
Graham Tackley
 
Heterogeneous Data Mining with Spark
Heterogeneous Data Mining with SparkHeterogeneous Data Mining with Spark
Heterogeneous Data Mining with Spark
KNIMESlides
 
Evolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft Azure
Evolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft AzureEvolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft Azure
Evolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft Azure
Evolve The Adobe Digital Marketing Community
 
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)
Внедрение SDLC в боевых условиях / Егор Карбутов (Digital Security)
Ontico
 
いそがしいひとのための Microsoft Ignite 2018 + 最新情報 Data & AI 編
いそがしいひとのための Microsoft Ignite 2018 + 最新情報 Data & AI 編いそがしいひとのための Microsoft Ignite 2018 + 最新情報 Data & AI 編
いそがしいひとのための Microsoft Ignite 2018 + 最新情報 Data & AI 編
Miho Yamamoto
 
GeeCON Prague : Building a Smart Security Camera with Raspberry Pi Zero, Java...
GeeCON Prague : Building a Smart Security Camera with Raspberry Pi Zero, Java...GeeCON Prague : Building a Smart Security Camera with Raspberry Pi Zero, Java...
GeeCON Prague : Building a Smart Security Camera with Raspberry Pi Zero, Java...
Mark West
 

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

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

Recently uploaded

Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
Kerry Sado
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
gestioneergodomus
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERSCW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
veerababupersonal22
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
BrazilAccount1
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
WENKENLI1
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
BrazilAccount1
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
ChristineTorrepenida1
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 

Recently uploaded (20)

Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERSCW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
CW RADAR, FMCW RADAR, FMCW ALTIMETER, AND THEIR PARAMETERS
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
English lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdfEnglish lab ppt no titlespecENG PPTt.pdf
English lab ppt no titlespecENG PPTt.pdf
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 

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