Skip to Content
Applied Akka Patterns
book

Applied Akka Patterns

by Michael Nash, Wade Waldron
December 2016
Intermediate to advanced
198 pages
5h 45m
English
O'Reilly Media, Inc.
Content preview from Applied Akka Patterns

Chapter 6. Consistency and Scalability

Consistency is a complex attribute of a system, and the need for it varies depending on the system in question. It is very frequently misunderstood, so let’s first look at what we mean by consistency before we examine ways to control it.

A system can be said to be consistent if different pieces of related data throughout the system are in agreement with one another about the state of the world.

For a simple example, if I calculate the total amount of deposits I’ve made to a bank account as well as the total number of withdrawals, the system would be consistent if it reports a bank balance that agrees with the delta between these two numbers.

On a classic single-processor, single-memory-space von Neumann system, this kind of consistency is not difficult to achieve, in general. Or course, this is assuming that our system doesn’t have any bugs.

As soon as a system has any aspect of parallelism, however, consistency becomes a bit more difficult. If we introduce multiple cores, we have some parallelism. If we make the system distributed, the situation becomes even more complex.

As we explained in Chapter 1, the real world doesn’t actually have a globally consistent state, so perhaps it’s acceptable if our software systems don’t either.

In this chapter, we talk about what a transaction means in the context of a distributed system, what the tradeoffs are on consistency, and why global consistency is not the friend of a scalable system. We’ll talk ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Effective Akka

Effective Akka

Jamie Allen
Akka in Action

Akka in Action

Rob Williams, Raymond Roestenburg, Robertus Bakker
Akka Cookbook

Akka Cookbook

Vivek Mishra, Héctor Veiga Ortiz
Akka in Action video edition

Akka in Action video edition

Raymond Roestenburg, Rob Bakker, Rob Williams

Publisher Resources

ISBN: 9781491934876Errata Page