jargon

Comparison

Competing consumersvsMessage ordering

Competing consumers

you run ten copies of the worker against the same queue and whichever one is free grabs the next message.

Multiple consumers pulling from one queue so throughput scales with worker count and slow messages do not block fast ones. It is the default scaling model for work queues. It gives up ordering: two related messages can be processed simultaneously by different workers in either order.

Full entry →

Message ordering

the update arrived before the create because the two messages went to different partitions and were processed in parallel.

Whether messages are guaranteed to be processed in the order they were produced. Global ordering means one consumer and no parallelism, so real systems order within a partition or key instead. Choosing the key is the design decision: order is preserved for everything that shares one and for nothing that does not.

Full entry →

Related comparisons