3 Side notes JAX London 2016
Quick notes from session 3 of JAX London 2016. Developing microservices with aggregates, talk preseneted by Chirs Richardson.
· Q.Assistance · 1 minutes ·
Overview
Session link 11th Oct — 10:00 to 10:50 Developing microservices with aggregates By Chirs Richardson
Notes
- Jax Center articles about this session:
- The service boundary enforces modularization:
“2 phase commit is not an option in Micro-service solutions.”
- An aggregate of micro-services is a cluster of objects treated like a unit.
- An Aggregate has a root service and it is treated like one module of the domain model.
- Aggregate rules:
- Reference other aggregates via identity (primary key), instead of via object reference.
- One command by one aggregate. One transaction is contained within a service/aggregate.
- Atomic actions happen inside one aggregate/service.
- Consistency across aggregates is achieved via an Event Driven Architecture:
- Publish events when things happen.
- The events trigger the next step.
- Multi-step workflows.
- Event sourcing is event-centric persistence:
- Events become the first class citizens.
- Store events in persistence layer as a long history.
- Fold / Reduce the list of events to get the current state.
- Command Query Responsibility Segregation (CQRS) used to maintain views for querying.
- Audit log by definition of the solution.
- Event store solution http://eventuate.io/
- Documentation on event sourcing and Micro-services
- Documented examples here.
- Micro-services are not easy! It is fervently advised to review all the drawbacks of this new concept:
- Required to rewrite the application.
- Required considerable learning curve.
- Events evolve and change business requirements. Then a version system to work with legacy events will be required.
- Querying is challenging because it is required to maintain views for each kind of query by using CQRS.
That was all for this session.
Many thanks for reading, please leave a comment if you have any quality hint.
Keep on testing, better!
More posts
-
Software QA Strategy?
Soon after, when the project is engaged and there is no room for discussions, we realise that what they understood for "strategy" is some kind of Apes plan proper of the mythical film Rise of the Planet of the Apes.
-
My notes on setting up a Proxmox 8.2 home lab server
Setting up a home lab is an excellent way to learn enterprise-grade virtualization technologies. Proxmox Virtual Environment (VE) 8.2 offers a robust platform that brings data centre features to your home lab setup.
-
How to FAIL in Test Automation
I started writing down some real-life notes about how to set up things for a miserably "failing" test automation strategy.