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
1
vote
0 answers

Cassandra counter - consistency

I have a doubt about counters. I'm searching on the web but I'm not able to find an answer. Let's suppose we're working with a COUNTER across multiple datacenters, and let's suppose we're working using a local quorum consistency level. If…
1
vote
2 answers

Impact of DC in Cassandra Cluster for Consistency ONE

I am learning Cassandra architecture & have set-up a Cassandra cluster in virtual machine like below: Node_1 -> DC_1 -> Rack1 -> rf = 1 Node_2 and Node_3 -> DC_2 -> Rack1 -> rf = 1 For Consistency Level ONE : When Node_1 and Node_3 are down,…
ShailyAggarwal
  • 813
  • 9
  • 20
1
vote
1 answer

Cassandra Read consistency

In my use case for cassandra writes are followed by reads and we are observing stale reads from cassandra. I understand that in cassandra read consistency is tough to achieve but what are alternates, how do we know read is stale? As long as I can…
1
vote
1 answer

Data replication or API Gateway Aggregation: which one to choose using microservices?

As an example, let's say that I'm building a simple social network. I currently have two services: Identity, managing the users, their personal data (e-mail, password hashes, etc.) and their public profiles (username) and authentication Social,…
1
vote
1 answer

How does cassandra handle write timestamp conflicts between QUORUM reads?

In the incredibly unlikely event that 2 QUORUM writes happen in parallel to the same row, and result in 2 partition replicas being inconsistent with the same timestamp: When a CL=QUORUM READ happens in a 3 node cluster, and the 2 nodes in the READ…
1
vote
1 answer

S3 - Eventual Consistency and multiple clients

If I PUT an object in S3 (US East) and then repeatedly request the object's metadata until I can GET it, then at that point am I guaranteed that all other clients can now GET the object? OR is it possible that another client's request is somehow…
Suraj
  • 35,905
  • 47
  • 139
  • 250
1
vote
2 answers

When eventual consistency is a problem for one service, but no other?

I have a Sales service, which takes payments and raises events when a sale is confirmed. I have an Order service, which consumes this event and records everything that was purchased as part of the trade. Therefore this purchased information is…
1
vote
2 answers

Is DynamoDB guaranteed to converge to latest data when updates happen fast?

It is clear that Dynamo isn't thread safe when running updates/deletes in parallel (unless Optimistic Update Locking is used or Conditional Writes). What I wonder though if there is a risk of having consistency issues when running updates one after…
Zhenya
  • 6,020
  • 6
  • 34
  • 42
1
vote
1 answer

DDD Relate Aggregates in a long process running

I am working on a project in which we define two aggregates: "Project" and "Task". The Project, in addition to other attributes, has the points attribute. These points are distributed to the tasks as they are defined by users. In a use case, the…
user11033188
1
vote
1 answer

Cassandra lightweight transaction based sequence generator consistency failure?

Summary Our team inherited this sequence generator implemented using Cassandra; Table CREATE TABLE IF NOT EXISTS sequences ( id_name varchar, next_id bigint, instance_name varchar, PRIMARY KEY (id_name) )WITH COMPRESSION = { ...…
user3277841
  • 339
  • 2
  • 6
  • 17
1
vote
3 answers

DDD - Relaxing the rule of Eventual Consistency between aggregate

I`m reading the book PATTERNS, PRINCIPLES, AND PRACTICES OF DOMAIN-DRIVEN DESIGN, written by Scott Millett with Nike Tune. In the chapter 19, Aggregates, he states: Sometimes it is actually good practice to modify multiple aggregates within a…
user11033188
1
vote
2 answers

Handling Eventual Consistency fail between aggregates

I am a beginner in DDD and I came across a situation that involves a rule of not modifying more than 1 aggregate in the same transaction, using Domain Events to resolve changes in other aggregates. (see Effective Aggregate Project). The situation is…
user11033188
1
vote
1 answer

AWS S3 Eventual Consistency and read after write Consistency

Help me to understand better these concepts that i can't grasp fully. Talking about aws S3 consistecy models, i'll try to explain what i grasped. Demistify or confirm me these claims please. first of all talking about "read after write" is related…
1
vote
2 answers

Cassandra LOCAL_QUORUM is waiting for remote datacenter responses

We have a 2 datacenters ( One in EU and one in US ) cluster with 4 nodes each deployed in AWS. The nodes are separated in 3 racks ( Availability zones ) each. In the cluster we have a keyspace test with replication: NetworkTopologyStrategy,…
1
vote
0 answers

How to tell if a key on S3 has "reached eventual consistency"

S3 is eventually consistent, which means that a listbucket operation may or may not see a file depending on, at the very least, which replica you happen to connect to. My understanding is, at some point, a key is sufficiently replicated (or…
Joseph Victor
  • 819
  • 6
  • 16