You need to ensure client consistency with read-your-writes and write-follows-reads guarantees. The solution should maximize read throughput while minimizing latency for read and write operations.
Which Azure Cosmos DB consistency should you choose?
You should choose Session consistency. Session consistency provides the consistency levels needed at a client or device session context.
Supported consistency levels are:
* Strong - Reads always return the most recent committed version of an item.
* Bounded staleness - Reads might lag behind writes based on configured update versions (K) or time (t).
* Session - Scoped to a client session, and reads honor consistency guarantees including the consistent-prefix, monotonic reads, monotonic writes, read-your-writes, and write-follows-reads guarantees.
* Consistent prefix - Updates that are returned contain some prefix of all the updates, and reads never see out-of-order writes.
* Eventual - There is no ordering guarantee for reads, and replicas eventually converge.
Session consistency also has lower request units per second (RU/s) costs than Strong or Bounded staleness consistency.