Yes, that's a great one. But now I have a brain teaser stuck in my head: Imagine you have a multi-tenant system like they describe, but for each customer A, B, C they have users A1, A2, A3, B1 etc.
You need ordered delivery of messages, but only at user level (if all messages needed to be ordered you could not do this sharding type setup). Is there a way to apply shuffle sharding while maintaining user-level ordering guarantees?
Yes! we do recursive, nested, shuffle sharding in these cases. Our Open Source infima library doesn't quite include direct support for this, but you can get a sense of how we put it all together:
Impressive stuff!