Building distributed Java applications is markedly different from traditional monolithic design. In this new modular landscape, we face many challenges: parallelism, asynchronous boundaries, state management, identity management, and consistency deficiencies, to name a few. Of all these problems, consistency, state management, and identity management can be particularly challenging. Duncan DeVore discusses the ins and outs of dealing with modular JVM-based application consistency, distributed state, and identity coherence with techniques such as idempotency, eventual and casual consistency, the CAP theorem, single source of truth, and distributed domain design.
Duncan DeVore is an engineer at Lightbend (Typesafe) who specializes in the design and implementation of distributed systems using the tenets of the Reactive Manifesto with Scala, Akka, and the Lightbend stack. Duncan believes in responsible design through functional programming with an abundance of test coverage, and he loves to code, present, and help others work through the challenges of distributed computing. Duncan’s specialties include distributed computing, microservice-based architectures, cloud computing, event sourcing, and CQRS. Duncan’s open source projects include journals for Eventsourced and Akka-Persistence based on the theory of event sourcing and CQRS. He is the coauthor of Reactive Application Development.
©2018, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com