Amazon Kinesis and guaranteed ordering : <p>Amazon claims their Kinesis streaming product guarantees record ordering.</p>

<blockquote>
  <p>It provides ordering of records, as well as the ability to read and/or replay records in the same order (...)</p>
</blockquote>

<p>Kinesis is composed of Streams that are themselves composed of one or more Shards. Records are stored in these Shards. We can write consumer applications that connect to a Shard and read/replay records in the order they were stored.</p>

<p>But can Kinesis guarantee, out of the box, ordering for the Stream itself without pushing ordering logic to the consumers? How can a consumer read records from multiple Shards of the same Stream, making sure the records are read in the same order they were added to the Stream?</p>
