Architecture

Version-Based Cache Validation in ABP — Keeping the Application Layer Clean Without Redis

Version-Based Cache Validation in ABP — Keeping the Application Layer Clean Without Redis

Every caching tutorial ends up polluting the application layer with GetAsync, SetAsync, and RemoveAsync. This post shows a different approach: a decorator that intercepts at the DI layer, version-based ETags that validate client caches without a round trip to the database, and why Redis becomes optional once you get the defaults right.

Posted in Development, .NET, ABP Framework, Architecture on June 28, 2026 by  ‐ 16 min read

Do You Actually Need Microservices or NoSQL to Build a Fast System? Here's How to Know.

Do You Actually Need Microservices or NoSQL to Build a Fast System? Here's How to Know.

A 9:1 read-write ratio is real, but it doesn't automatically mean your relational schema is wrong. A monolith on plain Postgres handles most traffic, most slow pages have cheaper fixes than re-architecting, and when a join genuinely is the bottleneck, a denormalized read table inside the same database solves it. No NoSQL or microservices required.

Posted in Development, Architecture, Databases on June 10, 2026 by  ‐ 13 min read