Testing code is hard. Testing code that's processing 40 billion messages per day is harder. In this talk, I speak a bit about how we do that on MailChimp's Data Systems Team.
the same data as production. - Owned by the team maintaining the streaming application. - Sees a significant % of production data. - Stable and alerts when things break.
reporting on differences between two Kafka topics that should be semantically identical. This enables true, continuous end-to- end testing of a Kafka-based application.
reporting on differences between two Kafka topics that should be semantically identical. This enables true, continuous end-to- end testing of a Kafka-based application.
Pluggable reporters (Graphite and Kafka reporter included) - Capable of transforming (e.g. deserializing) mismatches before reporting - Capable of back pressuring when things appear out-of-sync - Capable of handling high volume with low memory
Detective starts - Better support for use-cases that repartition data - Better support for use-cases where keys are not globally unique - Look into re-thinking what "success" means