Versioning in an Event Sourced System

Versioning in an Event Sourced System

Gregory Young
Buy on Leanpub

Table of Contents

Versioning in an Event Sourced System

  • Status
    • Goals
    • Feedback
    • Status
  • Why Version?
  • Why can’t I update an event?
    • Immutability
    • Consumers
    • Audit
    • Worms
    • Crime
  • Basic Type Based Versioning
    • Getting Started
    • Define a Version of an Event
    • Double Write
    • But…
  • Weak Schema
    • Mapping
    • Wrapper
    • Overall Considerations
  • Negotiation
    • Atom
    • Move Negotiation Forward
    • How to Translate
    • Use with Structural Data
  • General Versioning Concerns
    • Versioning of Behaviour
    • Changing Semantic Meaning
    • Snapshots
    • Avoid ‘And’
  • Whoops, I Did It Again
    • Accountants Use Pens
    • Types of Compensating Actions
    • How Do I Find What Needs Fixing?
    • More Complex Example
    • But I Really Screwed Up
  • Copy and Replace
    • Simple Copy-Replace
    • Simple>
    • With a System Live
    • Stream Boundaries are Wrong
    • Changing Stream Boundaries on a Running System
  • Cheating
    • Two Aggregates, One Stream
    • One Aggregate, Two Streams
    • Copy-Transform
    • Versioning Bankrupty
  • Internal vs External Models
    • External Integrations
    • Granularity
    • Rate of Change
    • How to Implement
    • Summary
  • Versioning Process Managers
    • Procees Managers
    • Basic Versioning
    • Upcasting State
    • Take Over
    • Warning
Versioning in an Event Sourced System/overview

Versioning in an Event Sourced System

course_overview

count_chapters
begin_reading
download
p_implied_book_part_name

Versioning in an Event Sourced System12 chapters

Begin ›
  1. Status

  2. Why Version?

  3. Why can’t I update an event?

  4. Basic Type Based Versioning

  5. Weak Schema

  6. Negotiation

  7. General Versioning Concerns

  8. Whoops, I Did It Again

  9. Copy and Replace

  10. Cheating

  11. Internal vs External Models

  12. Versioning Process Managers