Real-World Event Sourcing (PragProg)

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

khpes-500

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:

5 Likes

Wow, yet another Elixir book by Pragmatic Bookshelf! :heart:

4 Likes

Wish other publishers would do the same, rather than just most books on AI :frowning:

4 Likes

@DevotionGeo and @gflashner I’m quite proud of our Elixir books, but much of the credit goes to the super-supportive Elixir community and to @SophieDeBenedetto, our Elixir series editor. She does a great job of guiding us and bringing us new Elixir topics and authors.

4 Likes

I have just started reading this one and I’m starting on chapter 3 today. Also, I just learned so much quickly because the writing and the code samples are easy to follow. Furthermore, I find myself referencing the domain-driven design (DDD) books that I have purchased over the years to get a deeper understanding of the terminology.

Thus, I’m looking forward to reading the rest of the book. Why? I have started playing around with EventStoreDB, which can persist immutable events in an event-driven architecture. Now, there’s a book written using the Elixir programming language. Thanks so much, Kevin Hoffman and Pragmatic Bookshelf for creating this gem and making it available for the Elixir and other communities!!! :+1:t5::clap:t5:

4 Likes

@conradwt Thank you for being a PragProg reader. Your kind words mean so much to all of us at The Pragmatic Programmers!

3 Likes

Thanks for the positive energy. We really appreciate feedback during the beta release, because it gives us a chance to see how things are going and to consider possible tweaks we can make to make our books even better. Actively participating readers and members of the community such as yourself make a big difference!

2 Likes

@KellyTalbot Is there a formal feedback page and form for the book?

1 Like

@conradwt the errata and suggestions page is here:

https://forum.devtalk.com/c/community/pragprog-customers/85?tags=book-real-world-event-sourcing

1 Like

Awesome, just purchased, can’t wait to read!

2 Likes