Please log in to watch this conference skillscast.
Software systems have traditionally been built excluding the notion of time and focusing only on their current state. Global continuous consistency of the data within these systems is guaranteed by transactions, typically using relational databases. This approach has worked very well in the past, but as the industry moves towards distributed systems scalability is significantly hindered when trying to apply the same concepts in this world. This talk explores the concept of Event Sourcing, complemented by the Command Query Responsibility Segregation principle, as an alternative to maintaining a current globally consistent state, leading to lower latencies and a higher degree of scalability. The session will include a step by step guide on how to build an example reactive system in this style using the Typesafe Platform (specifically Akka, Akka Persistence and Akka Clustering).
You should be familiar with basic Scala syntax and have a basic understanding of the actor model with Akka. Event Sourcing (ES) is a way of persisting a system state by retaining all the events that led up to form the current state of the system.
Command Query Responsibility Segregation (CQRS) is a principle that separates the handling of command input within a system from queries (that don’t alter the system state – side effect free).
Check out Typesafe here.
YOU MAY ALSO LIKE:
- Lightbend Akka for Scala - Professional (in London on 11th - 12th November 2019)
- Domain Models in Practice: DDD, CQRS & Event Sourcing with Marco Heimeshoff (in London on 25th - 27th November 2019)
- Scala eXchange London 2019 (in London on 12th - 13th December 2019)
- Scalax2gether Community Day 2019 (in London on 14th December 2019)
- Code Kata: Yilin Wei - Optics with Monocle (in London on 22nd October 2019)
- Don’t keep it to yourself - openness and honesty in the workplace (in London on 30th October 2019)
- Abstract Data Types In The Region Of Abysmal Pain, And How To Navigate Them (SkillsCast recorded in September 2019)
- The Last Frontier and Beyond (SkillsCast recorded in August 2019)
Time travelling in distributed software systems
Bogdan is a Software Engineer at Endava, primarily focused on JVM based languages and technologies. He is involved in most of the technical aspects of software engineering, from design, development and quality assurance, to infrastructure, configuration and release management. His area of expertise includes developing systems for banking and payments industries.