Distributed Systems
Notes and work around distributed systems, partitioning, event-driven architecture, outbox patterns, consistency, and scalable data systems.
Writing
80/20 Of The Week: Route Optimization
Why real routing is more than shortest paths once vehicles, capacity, time windows, and delays enter the picture.
80/20 Of The Week: Locking (Optimistic, Pessimistic, ...)
Why concurrent updates get tricky and how optimistic and pessimistic locking help.
80/20 Of The Week: Caching (Part 2)
How cache-aside, TTLs, invalidation, and stampede protection show up in real systems.
80/20 Of The Week: Caching (Part 1)
Caching as a speed tool, resource saver, and protection mechanism for backend systems.
80/20 Of The Week: Rate Limiting and Backpressure
How rate limiting and backpressure protect systems from overload.
80/20 Of The Week: The Outbox Pattern
How the outbox pattern keeps database updates and event publishing reliable.
80/20 Of The Week: Partitioning and Sharding
The core concepts of horizontal and vertical data splitting, partitioning vs sharding, and sharding strategies.
80/20 Of The Week: Idempotency and Resilience
How to use retries properly and build resilience into your distributed systems with idempotency.
80/20 Of The Week: Event-Driven Architecture (EDA)
Why and when to use Event-Driven Architecture over request-driven systems, and how Kafka and RabbitMQ fit into the picture.
80/20 Of The Week: Docker Compose and Kubernetes
Breaking down Docker Compose and Kubernetes: Imperative vs Declarative management of containerized systems.
80/20 Of The Week: Scalable Distributed Systems
The 80/20 info for big scalable, distributed systems: everything you need to know about load balancers, horizontal scaling, queues, and request coalescing.
Projects
Citus Distribution Key Benchmark
Experimental benchmark for choosing distribution keys in Citus/PostgreSQL, balancing JOIN locality against data skew with reproducible synthetic and real-dataset pipelines.
MSISDN Telecom Inventory Service
Spring Boot service for telecom number lifecycle management with Liquibase migrations, optimistic locking, audit history, and safe concurrent reservation.
Product Search with Transactional Outbox
Catalog search architecture where PostgreSQL stays the source of truth and Elasticsearch is updated asynchronously through a transactional outbox.
Subscriber Profile Service
Go service using PostgreSQL as source of truth and a Redis cache-aside ring with application-managed consistent hashing across standalone shards.
Transactional Outbox Pattern
Production-style Spring Boot implementation of the outbox pattern with idempotency, Kafka dispatch, retries, dead-letter handling, metrics, and Testcontainers.
Research
Performance and Efficiency of Blockchain in Telecommunications: A Comparative Study with Traditional Systems
INFOTEH-JAHORINA 2025 (INFOTEH) • DOI: 10.1109/INFOTEH64129.2025.10959259
A Comparative Study on the Disparities and Performance Metrics Between NoSQL Graph and Relational Databases
ICECER 2024 • DOI: 10.1109/ICECER62944.2024.10920423