Deliver and not lose: data synchronization in distributed systems
The development of high-loaded systems for a large number of users leads to a distributed architecture: services, microservices, and multiple databases. The purpose of any system is to provide information exchange. It has to be reliable: data is not lost, it is delivered to the appropriate subsystems on time, and, ultimately, users receive it.
Analysts without experience with distributed architecture may find it difficult to consider its features when developing requirements.
Tasks are being clarified, developers are asking questions, and there are bugs during testing. It's the standard set of problems when requirements are incomplete. But analysts want to grow. So it's essential for us.
This talk will help system and business analysts, as well as anyone who influences system requirements, learn how to develop data synchronization logic and queue processing, and help to see the "bottlenecks" in the design of distributed systems. All problems and solutions are in one practical case.