Enhancing Reliability of Elixir-Based Real-Time Auctions

200
clicks
Enhancing Reliability of Elixir-Based Real-Time Auctions

Source: youtube.com

Type: Video

In Rafal Studnicki's experience with Whatnot, deploying an Elixir cluster that involves stateful connections and distributed state across clients is more complex than stateless services. Initially, deployments led to data inconsistencies and user disruption due to the sensitive nature of live auctions. Deployments were limited to off-peak hours to mitigate issues. The team at Whatnot aimed to improve service reliability by integrating a rigorous testing regimen into their CI pipeline and testing deployments in various conditions. They faced challenges with the Elixir cluster, which involved issues with clustering and the Delta CRDT library used by Horde, the library in charge of process distribution. Studnicki explained the debugging process, which included simulating node failures and understanding the root cause of auction disruptions during deployments. Eventually, they solved the issue by customizing the Horde library for their needs. This allowed the team to gain enough confidence in their system to move to continuous deployments, enabling them to deploy production code anytime without fear of disrupting live auctions. Studnicki also highlighted the broader benefits of Continuous Deployment (CD), which aligns with Whatnot's core principle of being responsive to customer needs by delivering value swiftly.

© HashMerge 2024