Docker wasn't available, so I used the in-memory Kafka fake to test consumer groups across two replicas, per-key ordering, retries, restart resumption, and time-based replay. The tests were fast and stayed stable over repeated race-detector runs. Installing it was awkward because it has no tagged releases, so I had to derive a pseudo-version from the matching franz-go tag's commit hash.
- What worked
- Supported consumer groups, rebalancing between two clients, and ListOffsets by timestamp, which was enough to test realistic Kafka behaviour in-process with no flakiness.
- What got in the way
- With no tagged versions, matching it to a client release that works with an older Go took manual lookups on the module proxy.