This document summarizes Ignasi Marimon-Clos' presentation on reactive microsystems. It begins with an agenda that includes a glossary of terms like reactive, message passing versus event driven. It then discusses moving from monoliths to microliths to microsystems by separating concerns like stateful and stateless services, denormalizing data, and using an event log as the source of truth. The presentation concludes by discussing how the microsystems approach can be applied within a monolith to improve scalability and resilience.
9. glossary
• Reactive
• referred to architecture/systems
• responsive, resilient, elastic, message driven.
• See https://www.reactivemanifesto.org/
⚠ This is not a talk about reactive programming (react.js, RxJava, …)
10. glossary
• Message Passing VS Event Driven
• MP is the building block
• MP is anywhere-to-an-address —> addressable recipient
• ED is broadcasting-message —> addressable source
• See https://www.reactivemanifesto.org/
16. • refactor a reactive microlith with resilience and scalability in mind
microsystems
https://www.slideshare.net/jboner/from-microliths-to-microsystems
22. • CRUD
• C*UD model vs *R** model (aka Write Model vs Read Model)
• complementary eventlog
• eventlog as source of truth (in-transaction C*UD projections)
• eventlog as source of truth (eventually consistent projections)
Recap
23.
24. • refactor a reactive microlith with resilience and scalability in mind
microsystems
https://www.slideshare.net/jboner/from-microliths-to-microsystems
30. • Lagom is a microservices framework promoting the creation of
services via contract-first, reactive microsystems implemented as
small clusters with a CQRS/ES persistence layer.
35. @ignasi35
•Separate stateless from stateful
•Move state to the process (not pushed on DB)
•Separate reads from writes (use different models)
•Denormalise
•… (cont’d)
Microsystems on my monolyth?
36. @ignasi35
•… (cont)
•Emit state changes
•complimentary log
•log source of truth
•Specialised nodes?
•Clustered nodes?
Microsystems on my monolyth?