title: How to ensure ordering while putting records in kinesis stream asynchronously?
body: <p>I am writing an application which reads MySQL bin logs and pushes changes into a Kinesis stream. My use case requires perfect ordering of mysql events in the <strong>kinesis</strong> stream for which I am using the <strong>putrecord</strong> operation instead of <strong>putrecords</strong> and also including the '<strong>SequenceNumberForOrdering</strong>' key. But one point of failure still remains i.e. the retry logic. Being an <strong>async</strong> function (using js sdk of aws), how can i ensure order in case of failure during the write operation to kinesis. </p>
  
  <p>Is blocking write (blocking the event loop till the callback is received for the put record) too bad a solution? Or is there a better way?</p>