Designing highly-available Service with Data Consistency
Details
Designing highly-available Service with Data Consistency by Ivan Kusalic
When designing a highly-available service one inevitably faces the consequences of the (in)famous CAP theorem. Designing a distributed system where data consistency is paramount is a challenging endeavor. To do so it is important to understand domain concepts inherent in the data and their relationship. Imposing carefully selected procedure on writes enables well-behaved clients to still benefit from high availability while providing high guarantees on consistency.
This presentation explores a journey of making an existing versioned storage system for map data, design without high availability in mind, 99.9 per cent available. While the high-availability design was being put together versioning concepts needed to be strengthened and exposed more strictly in the API. To preserve consistency, the access pattern for read-clients needed to be made more strict.
Join us for the presentation to learn:
• how do design such a system in an incremental manner from components that don’t provide HA guarantees
• reasons why API should be strict and designed defensively
• how optional parameters can be problematic even when they initially seem to be very convenient
• about problems of highly-available designs being hard to get right and counter-intuitive to explain
When?
Doors open at 19:30
Talk begins at 20:00
Location
To find us, go through the big metal gate to the left of Adalbertstr. 7, straight to the far end of the courtyard, & in the first tunnel to your right. We are in the 3rd floor.
https://a248.e.akamai.net/secure.meetupstatic.com/photos/event/8/4/7/7/600_433893911.jpeg
