There are many different release patterns. Today I'd like to share with you one that is called "dark reads". This one is hard to google, because you get a lot of articles either about dark patterns of web development or a bunch of photos of dark red wallpapers.
Here's one article I could find about it. The core idea is that you have both versions v1 and v2 running at the same time, but you only read and outputs from v2 and check that for correctness.
It is very similar to canary releases or feature flags, but it's more applicable to data pipelines. If you have a stream of messages, it's not always easy to stream a percentage of them via a new system. Also, when running two versions at the same time, you need to have additional logic to deduplicate messages at some point. "Dark reads" says that you should be able to validate and discard v2 events on the consumer side and flip the switch once you're satisfied with the results.
#design
Post #2613
2.06K