Repository and Unit of work pattern in core

Repository and Unit of work pattern in core

A Repository is used to manage aggregate persistence and retrieval. The repository mediates between the data-access layer and the domain.The unit of work pattern keeps track of all changes to aggregates. Once all updates of the aggregates in a scope are completed, the tracked changes are played onto the database in a transaction

July 30, 2020 · 12 min · 2352 words · Pradeep Loganathan

How do you increment a counter? -

Many moons ago I was working on an online eCommerce platform. The platform used to undergo massive traffic spikes periodically. I was trying to implement a distributed counter. I was using a distributed counter because I wanted to be able to increment the counter on multiple servers. CAP Theorem The CAP theorem was proposed by Eric Brewer. CRDT CRDT stands for conflict-free replicated datatype. Conflict-free replicated datatype describe data-types that can be replicated across multiple computation units or nodes, they can be updated concurrently without any coordination, and then merged to get a consistent state....

September 2, 2019 · 3 min · 634 words · Pradeep Loganathan

Service Mesh

Service Mesh is a dedicated infrastructure layer for handling service-to-service communication in order to make it visible, manageable, and controlled. A Service Mesh adds capabilities like traffic control, service discovery, load balancing, resilience, observability, security in a transparent manner. A service mesh allows applications to offload these capabilities from application-level libraries and allow developers to focus on building business logic. A Service Mesh generally is implemented as a mesh of interconnected network proxies designed to better manage service traffic....

July 24, 2019 · 3 min · 474 words · Pradeep Loganathan

Sidecar pattern

Sidecar pattern is a single-node pattern made up of two containers. It involves co-locating another container in a node/pod along with the main application container. The application container contains the core logic for the application. The role of the sidecar is to augment and improve the application container, often without the application container’s knowledge. In its simplest form, a sidecar container can be used to add functionality to a container that might otherwise be difficult to add....

July 24, 2019 · 3 min · 454 words · Pradeep Loganathan
Transactional Outbox Pattern

Transactional Outbox Pattern

Transactional Outbox is a pattern to reliably publish messages without the use of distributed transactions. It uses an Outbox and a message dispatcher to reliably persist state and publish messages.

July 16, 2019 · 4 min · 827 words · Pradeep Loganathan