Distributed Systems Engineering

Fatih Mehmet Arslan (fmarslan) on distributed systems engineering with Java, .NET and Kafka; data ownership, asynchronous flows and microservice boundaries.

Data ownership before service count

My distributed systems work involves Java and .NET services, Kafka flows, asynchronous processing and multi-tenant platforms. I focus on the behaviour of the whole flow, including the points where a message is delayed, a dependency fails or two services interpret the same value differently.

A service boundary is useful when ownership and failure behaviour are clear. Adding another process does not by itself make a system easier to maintain. Shared domain values, in particular, require decisions about who defines them and how changes reach consumers.

Selected technical writing

These articles connect implementation choices to the architectural boundaries they create:

From design to production

Code review, observability and troubleshooting are part of this work. I use production feedback to examine assumptions about data, dependencies and service boundaries. See my experience and technologies, software architecture and the regulated Peppol integration context.