[Comment removed by author]
I’ve been looking at CQRS/ES a lot lately, but I can’t come to any clear conclusions about implementation.
While this may not help many people working on a monolith currently. I’ve always found Ruby Object Mapper’s Environment and Relation interaction to be a good way to split out from using a single data source to relying on services. Its very easy to build an adapter that communicates with your new service, and in your original application you just need to update the internals of a relation keep everything flowing.
I wish this went into more detail because we don’t actually get much insight into the decisions.
It sounds like the HTTP / Postgres layer is really thin - so thin that they had to stop using transactions. Is that really an improvement?
If you’re doing a huge refactor, why go out of your way to keep AR’s interface?
Why not cache at the HTTP layer?
Why not use e.g. ActiveResource instead of writing your own AR-style object HTTP mapping library? Etc.