Questions tagged [eventual-consistency]

Eventual consistency is a consistency model used in distributed computing that informally guarantees that, if no new updates are made to a given data item, eventually all accesses to that item will return the last updated value.

Eventual consistency is widely deployed in distributed systems (often under the moniker of optimistic replication) and has origins in early mobile computing projects. A system that has achieved eventual consistency is often said to have converged, or achieved replica convergence. While stronger models, like linearizability are trivially eventually consistent, the converse does not hold.

Eventually consistent services are often classified as providing BASE (Basically Available, Soft state, Eventual consistency) semantics (in contrast to traditional ACID (Atomicity, Consistency, Isolation, Durability) guarantees).Eventual consistency is sometimes criticized as increasing the complexity of distributed software applications. This is partly because eventual consistency is purely a liveness guarantee (reads eventually return the same value) and does not make safety guarantees: an eventually consistent system can return any value before it converges.

Wikipedia

278 questions
13
votes
1 answer

Read Operation in Cassandra at Consistency level of Quorum?

I am reading this post on read operations and consistency level in Cassandra. According to this post: For example, in a cluster with a replication factor of 3, and a read consistency level of QUORUM, 2 of the 3 replicas for the given row are…
brain storm
  • 30,124
  • 69
  • 225
  • 393
12
votes
2 answers

S3 last-modified timestamp for eventually-consistent overwrite PUTs

The AWS S3 docs state that: Amazon S3 offers eventual consistency for overwrite PUTS and DELETES in all regions. http://docs.aws.amazon.com/AmazonS3/latest/dev/Introduction.html#ConsistencyModel The timespan until full consistency is reached can…
andrasp
  • 168
  • 1
  • 1
  • 7
11
votes
2 answers

Read-your-own-writes consistency in Cassandra

Read-your-own-writes consistency is great improvement from the so called eventual consistency: if I change my profile picture I don't care if others see the change a minute later, but it looks weird if after a page reload I still see the old…
tillda
  • 18,150
  • 16
  • 51
  • 70
11
votes
2 answers

Read-your-own-writes consistency in Mongodb

first, here is what is said in Pymongo Documentation By default, PyMongo starts a request for each thread when the thread first runs an operation on MongoDB. This guarantees **read-your-writes consistency. Within a request, the thread will…
Abdelouahab Pp
  • 4,252
  • 11
  • 42
  • 65
10
votes
2 answers

Best way to ensure an event is eventually published to a message queuing sytem

Please, imagine you have a method like the following: public void PlaceOrder(Order order) { this.SaveOrderToDataBase(order); this.bus.Publish(new OrderPlaced(Order)); } After the order is saved to the database, an event is published…
Jesús López
  • 8,338
  • 7
  • 40
  • 66
10
votes
1 answer

GAE HDR: Are entity retrievals by key eventually consistent within a XG transaction?

Consider the second example in "Uses for Transactions" ("update an entity with a named key, or create it if it doesn't yet exist"): https://developers.google.com/appengine/docs/java/datastore/transactions Now consider this scenario. A multiplayer…
8
votes
2 answers

Microservice data replication patterns

In a microservice architecture, we usually have two ways for 2 microservices to communicate. Let’s say service A needs to get information from service B. The first option is a remote call, usually synchronous over HTTPS, so service A query an API…
8
votes
6 answers

Looking for distributed/scalable database solution where all nodes are read/write? Not MongoDB?

I'm looking to implement a database that can be widely distributed geographically and such that each node can be read/write with eventual consistency to all other nodes. Where should I be looking? I thought that MongoDB seemed like a nice option…
JnBrymn
  • 24,245
  • 28
  • 105
  • 147
8
votes
1 answer

How to implement checkout in a DDD-based application?

First of all let's say I have two separated aggregates Basket and Order in an e-commerece website. Basket aggregate has two entities Basket(which is the aggregate root) and BaskItem defined as following(I have removed factories and other aggregate…
Simple Code
  • 2,354
  • 2
  • 27
  • 56
8
votes
5 answers

Microservices, CQRS: Eventual consistency vs Strong consistency(Read after Write consistency)

Using CQRS and Event store the choreography between microservices delivers an Eventual consistency where in the changes in one microservice take a bit to propagate to the other downstream systems(essentially other microservices) which are…
vaibhav
  • 3,929
  • 8
  • 45
  • 81
8
votes
1 answer

Should users be directed to specific data nodes when using an eventually consistent datastore?

When running a web application in a farm that uses a distributed datastore that's eventually consistent (CouchDB in my case), should I be ensuring that a given user is always directed to same the datastore instance? It seems to me that the…
srmark
  • 7,942
  • 13
  • 63
  • 74
7
votes
1 answer

What is the difference between Sequential Consistency and Eventual Consistency?

There are two definitions I found on the Internet: Sequential consistency -- the result of any execution is the same as if the operations of all the processors were executed in some sequential order, and the operations of each individual processor…
7
votes
2 answers

CQRS - Eventual Consistency

I have the following scenario which I need to implement following the CQRS pattern: a user logs in the user enters some insurance details the user ask for a decision to be applied the user views the result of the decision This seems fairly…
user411870
  • 71
  • 4
7
votes
1 answer

Hazelcast: Questions regarding multi-node consistency

(I could not find a good source explaining this, so if it is available elsewhere, you could just point me to it) Hazelcast replicates data across all nodes in clusters. So, if data is changed in one of the nodes, does the node update its own copy…
gammay
  • 5,957
  • 7
  • 32
  • 51
7
votes
2 answers

REST without PUT

The ThoughtWorks Technology Radar July 2014 mentions under Techniques / Trial a new trend called REST without PUT. They explain it as: In the last radar we talked about Capturing Explicit Domain Events, putting emphasis on recording the …
Golo Roden
  • 140,679
  • 96
  • 298
  • 425
1
2
3
18 19