System Design - Building an Experiment Service
A new experiment service is being designed to handle high traffic volumes and meet specific requirements. The service must ensure low latency, consistency, data integrity, and multi-tenancy. It should also be scalable and degrade gracefully in case of dependency failures. The design focuses on meeting these non-functional requirements while implementing the functional requirements, such as client sign-up, experiment definition, variant assignment, and data recording.