Event-Carried State Transfer Integration in Microservices
Good or Bad?
Good or Bad?
Embracing Behavioural Coupling
Or glorified data caches
How I shared streams to split an aggregate and why.
Order of Steps, Failures and Overlapping Sagas
When Events are Passive-Aggressive Commands
When to Choose Choreography
What’s a Saga? and Sagas vs Process Managers
Orchestration and Sagas
Re-designing an Aggregation Microservice — Part 1 Re-designing an Aggregation Microservice — Part 2
In Event Sourcing, events have a considerably longer active life within an application. Entire event streams, from the oldest event captured to the newest, a...
In the first post in this series, I introduced the current design of the reporting service. And discussed some of the issues with that design. I ended the po...
I was involved in a recent discussion regarding how to improve a reporting microservice that aggregates data from numerous services. There were several issue...
I have blogged previously about how we implemented the Outbox pattern on top of SQL Server and Websphere MQ to avoid distributed transactions/two-phase commi...
My current client has a requirement to provide access to reference data in the form of holidays by country, currency holidays and banking information such as...
I have seen numerous service integration patterns down the years that, in my opinion, have a myriad of issues that make it increasingly difficult to work wit...
I was involved in a discussion at my current client recently regarding how to improve a service that aggregates data from several other services for, let’s s...
As a freelancer, I have worked with numerous teams, different cultures, distinct personalities and varying experience levels and in different capacities incl...
There are numerous blogs and talks out there about why you should or should not use distributed transaction coordinators (DTC) and they cover a myriad of top...
In this post, I would like to share my recent experience in a project that failed miserably, mainly due to negligence of the “Individuals and their Interacti...
I’m currently architecting a payment system for domestic payments for a UK bank. This is a greenfield system that is going to consist of a few microservices....
I have just come out of a planning meeting that I thought was a complete waste of time. We spent a full hour trying to estimate roughly how many days a numbe...
Eventual consistency is an important concept in distributed systems as it allows you to scale considerably and improves your systems’ availability and robust...
In part 2, I briefly covered Event-Driven SOA and why event messages are preferred for communication between services. I also stated that data should not lea...
IOC containers are a great way to manage dependencies and their lifetimes. They have concise, fluent syntax and help keep all dependency configurations neatl...
In the previous post in this series, I wrote about scaling up vs out, why we chose scaling out and why layered service models are not the answer. In this pos...
In this series of posts, I will go through the challenges experienced developing a highly scalable and highly available SaaS product using a Service Oriented...