Real-World Event Sourcing (Pragmatic Bookshelf)

PragmaticBookshelf
Use event sourcing to solve complex software development problems by modeling your application as a stream of immutable events and their context.

Kevin Hoffman @autodidaddict

edited by Kelly Talbot @KellyTalbot

Reality is event-sourced; your mind processes sight, sound, taste, smell, and touch to create its perception of reality. Software isn’t that different. Applications use streams of incoming data to create their own realities, and when you interpret that data as events containing state and context, even some of the most complex problems become easily solvable. Unravel the theory behind event sourcing and discover how to put this approach into practice with practical, hands-on coding examples. From early-stage development through production and release, you’ll unlock powerful new ways of clearing even the toughest programming hurdles.

Our applications are bombarded with data. It’s hard enough to derive state from that data, let alone discover how we arrived at that state. With event sourcing you can treat the stream of data as a simple sequence of events that you use to construct whatever state you need. Event sourcing is more than events; it adds patterns, rules, and constraints to produce robust and easy-to-maintain systems. In this book, you’ll learn which rules can never be broken and which ones are flexible. By grounding yourself in theory, rules, and practical approaches, you’ll be able to build real-world, event-sourced applications.

Get your hands dirty with fundamental event-sourcing building blocks such as commands, aggregates, projectors, process managers, injectors, and notifiers. Combine these building blocks to produce elegant solutions to complex problems. Leave “hello world” far behind as you tackle the more advanced aspects of event sourcing that give you the confidence you need to run these applications in production. Leverage event sourcing to create distributed applications with ease; model and handle failure; and deal with replays, schema evolution, security, and much more.

This book doesn’t shy away from confronting the hard parts of event sourcing, instead giving you clear advice and examples for tackling the most difficult details.

Empower your applications with the full force of event sourcing today.


Kevin Hoffman is the Engineering Director for Cloud Services at Synadia, the company behind NATS, a popular messaging and streaming server. Kevin specializes in distributed applications and has made enough event sourcing mistakes on his own to fill a book with what he’s learned and experienced.


Don’t forget you can get 35% off with your Devtalk discount! Just use the coupon code “devtalk.com" at checkout :+1:

Latest Threads About This Book Top

colinangusmackay
@autodidaddict, On the website it states: “What You Need: You’ll need a computer preferably running MacOS, Linux, or WSL/Ubuntu on Window...
New
StevenNunez
In v2 of the calculator, does it make sens for the command tenses to be present? defmodule EventSourcedCalculator.V2 do ...
New
amencarini
A way to solve the issues the author had running the commanded.reset mix task might be this: mix do app.start + commanded.reset -a Lunar...
New
New
7hoenix
@autodidaddict Real World Event Sourcing: Page 105 of version 3 (PDF) Inconsistent descriptions around whether Aggregates can process ...
New
ddn4
@autodidaddict The rerank function could be simplified to the following and retain the same functionality. defp rerank(scores) do score...
New
bratsche
Please use the following format for the title of this thread (then simply delete/replace this text with the content for the thread): Tit...
New
tylerpachal
Hello @autodidaddict, I think that “notifiers” near the end of this sentence: As you’ve learned the building blocks in this first part ...
New
New
lmarlow
@autodidaddict The second to last function clause in esintro/es_calc_v3.exs does not have a function body and is covered by the last fun...
New

Most Active This Week Top

Most Active This Month Top

Most Active This Year Top

PragmaticBookshelf
Use event sourcing to solve complex software development problems by modeling your application as a stream of immutable events and their ...
New
7hoenix
@autodidaddict Real World Event Sourcing: Page 105 of version 3 (PDF) Inconsistent descriptions around whether Aggregates can process ...
New
dsincl12
@autodidaddict On page 27 it says the following which is misleading: “In pure functional programming terms, input and output are consid...
New
bratsche
Please use the following format for the title of this thread (then simply delete/replace this text with the content for the thread): Tit...
New
lmarlow
@autodidaddict The second to last function clause in esintro/es_calc_v3.exs does not have a function body and is covered by the last fun...
New
tylerpachal
Hello @autodidaddict, I think that “notifiers” near the end of this sentence: As you’ve learned the building blocks in this first part ...
New
New
lmarlow
@autodidaddict The second sentence of the second paragraph of the Preface ends with “learning to my job again.” It should probably be “l...
New
ddn4
@autodidaddict The rerank function could be simplified to the following and retain the same functionality. defp rerank(scores) do score...
New
dsincl12
@autodidaddict On page 24 in the information box it says that CQRS stands for Command Query Responsibility Separation that is incorrect,...
New
New
colinangusmackay
@autodidaddict, On the website it states: “What You Need: You’ll need a computer preferably running MacOS, Linux, or WSL/Ubuntu on Window...
New
amencarini
A way to solve the issues the author had running the commanded.reset mix task might be this: mix do app.start + commanded.reset -a Lunar...
New
StevenNunez
In v2 of the calculator, does it make sens for the command tenses to be present? defmodule EventSourcedCalculator.V2 do ...
New

Most Active Last Three Years Top

Most Active Over Three Years Top

Book Info

Publisher: Pragmatic Bookshelf

Are you this book's author? To be notified of all posts made about it, sign up an account then click here, then select 'watching' from the bell icon in the top right corner.

Get money off!

The Pragmatic Bookshelf

35% off any eBook

Simply use coupon code "devtalk.com" at checkout. See full details here.