Rootconf 2019

On infrastructure security, DevOps and distributed systems.

Patterns for solving distributed systems problems in our applications

Submitted by Lakshminarasimhan Sudarshan (@lsudarsh) on Feb 17, 2019

Section: Full talk of 40 mins duration Technical level: Intermediate Status: Rejected


Modern applications increasingly tend to be full on distributed systems and consequently suffer from all the challenges of working with distributed systems. This talk is based on practical project experiences and talks about some of these challenges and patterns for addressing them. It is based on experiences in real world projects and uses a simplified representation of one of these projects to express the core ideas. These patterns are heavily inspired by the world of nosql databases.


Rough outline:
- Context setting Introduces a sample problem exhibiting distributed system characteristics which will be used in the rest of the talk - Consistency Explores typical consistency challenges by using the sample problem.Introduces a few different patterns for addressing them. - Reasoning about system tradeoffs using CAP and PACELC - Pattern for detecting inconsistencies - Pattern for applying tunable consistency during writes - Pattern for applying tunable consistency during reads - Recovery Explores patterns for how applications can recover when facing consistency issues. Once again uses the sample problem to explore patterns - Using hinted handoffs and healing during application writes - Read repair and healing during reads - Background full node repairs - Immutability Explores patterns for how applications can achieve immutability in a scalable fashion. - Event sourcing or new entries for versions - Background compactions - Time and clocks Explores typical problems distributed systems face due to clock skew and time dependence. Explores patterns we can use to address these problems using the sample application - Use logical time - Use time synchronization patterns and monitoring to surface time skew - Model time skew deltas in domain - Testing Explores typical approaches to testing distributed systems issues. - Tools like Jepsen - TLA+ specifications

Speaker bio


{{ gettext('Login to leave a comment') }}

{{ gettext('You need to be a participant to comment.') }}

{{ formTitle }}
{{ gettext('Post a comment...') }}
{{ gettext('New comment') }}

{{ errorMsg }}