For a mission-critical system such as payment processing for a bank, you need complete assurance that the system is fault-tolerant and can gracefully handle periods of unavailability, network SNAFUs, and other associated software fun and games.
This presentation makes a powerful case for a combination of two Akka concepts - clustering and distributed data - to demonstrate how you can persist state across the cluster and therefore not need to worry about individual nodes going down for maintenance, or indeed for unforeseen reasons. We also deal with the fact that we might need to only be able to run one instance of an actor in a cluster, by introducing the concept of a cluster singleton.
We then go on to write a simple TFTP server in Akka, which runs in an Akka cluster and uses Akka Distributed Data to distribute client data. So any member of the cluster that receives a request for data is able to handle it independently.
YOU MAY ALSO LIKE:
- Extreme Java: Advanced Topics with Dr Heinz Kabutz (Online Course on 28th - 29th September 2020)
- Java Design Patterns: The Timeless Way of Coding with Dr Heinz Kabutz (Online Course on 12th - 15th October 2020)
- Building a Cloud Native Application with Quarkus (Online Meetup on 27th August 2020)
- Test Automation Beyond Java 8 (SkillsCast recorded in July 2020)
- How to use Apache Kafka and Grafana to visualise business process decisions running on the cloud! - Paulo Menon, Ingo Weiss, Craig Reeves. (SkillsCast recorded in October 2019)
Clustering and Distributed Data: The Winning Combination?
Patrick Altaie is a consultant for Icon Solutions, a financial services consultancy, working with some of the world's leading financial services organisations. Recently he's been working on IPF - Icon's flagship real-time payments processing platform. IPF is built using reactive concepts and leading open-source frameworks, including Akka.