One idea that entered my mind while reading about Spanner (from Google) was something called client side buffering for writes.
Perhaps it would be possible to place a buffer between the entry point and the services that is able to buffer requests and make sure they are all answered in order with the result being a correct order of transactions and therefore complete consistency at the cost of transaction speed. The benefit of this buffer would be that we get to be in control of the next operation, allowing us to better deal with failed requests that would otherwise mess up the consistency.
One idea that entered my mind while reading about Spanner (from Google) was something called client side buffering for writes.
Perhaps it would be possible to place a buffer between the entry point and the services that is able to buffer requests and make sure they are all answered in order with the result being a correct order of transactions and therefore complete consistency at the cost of transaction speed. The benefit of this buffer would be that we get to be in control of the next operation, allowing us to better deal with failed requests that would otherwise mess up the consistency.