The Reactive Monolith – How to Move from CRUD to Event Sourcing

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • materialize

    The data warehouse for operational workloads. (by MaterializeInc)

  • Can this be mitigated by ensuring that historical/legacy events are all transformed to more modern equivalents? Similar in theory to https://stripe.com/blog/api-versioning ? Then you at least have a chain of testable transformations and a reduced cardinality for the actual interactions that reflects the cardinality of all the ways your business users actually use your product today.

    Of course, this can be lossy, but is it any more lossy than the non-event-sourced CRUD system which is essentially transforming historical events into "overwrite these fields" events that can only be used for their original purpose?

    To me, the reason not to use event sourcing is more that the tooling and developer experience is just really poor - and so decisions like the above, while valuable to think through directly, rapidly become overwhelming. Visualizations of system state are only as good as the code you bring yourself. I'm hopeful that people building tools on top of things like https://materialize.com will start to change this though!

  • zeebe

    Distributed Workflow Engine for Microservices Orchestration

  • (I have no idea whether ES is used in temporal though… never looked at the code)

    [1] https://github.com/camunda-cloud/zeebe

    [2] https://temporal.io/

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • eventsourcing

    A library for event sourcing in Python.

  • Similar thing happened on a project I joined. Except this person not only forced ES onto the business but their own specific library for it https://github.com/johnbywater/eventsourcing

    The business eventually failed to due to this, due to slow implementation of simple features and many other issues with it.

    I will never use ES due to this project, it's pointless, anything you can do with it, you can do without it.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts