Category: Software Architecture
Caches help reduce latency, scale read-heavy workloads, and save cost. They are literally everywhere. Caches run on your phone and in your browser. For example, CDNs and DNS are essentially geo-replicated caches. It’s thanks...
Managing product categories is one of the most important components of an E-Commerce system. Along with order management and shipping, it forms the three main pillars of an E-Commerce system. Therefore, building a product...
Adapter Also known as: Wrapper Intent The Adapter pattern is a structural design pattern that enables collaboration between objects with incompatible interfaces. Problem Picture this: You’re developing a stock market monitoring application. It retrieves stock...
Introduction I wanted a text that would bring together the ideas behind many of the more recent distributed systems – systems such as Amazon’s Dynamo, Google’s BigTable and MapReduce, Apache’s Hadoop and so on....