development

A Quick Look at Statsd

The idea of application performance monitoring with minimal side-effects brought Statsd to life. It is a daemon service that listens to UDP packets. It expects text payload, aggregates the metrics, and send them over to a metrics server (a time series DB). The metrics data is flushed at regular intervals (default 10 seconds). After every […]

Read more
development

Reactive Extensions: Asynchronous Reactive Systems

Reactive Extensions: Asynchronous Reactive Systems Reactive Extension is a paradigm to develop systems using the react model. It’s an event-driven state machine for functions. It’s possible to represent either synchronous or asynchronous communication with Reactive Extensions. All we need is a message broker, producer of events (Observable), and consumers(Observer). Typically, the consumer processes an event […]

Read more
development

Discussion on Microservices Integration

Discussion on Microservices Integration Microservices is a distributed system pattern and components need to communicate through the network. If communication data includes internal technical details of participating components, the system loses the property of loose-coupling. If a change in one service causes changes in many other services, we lose the property of high-cohesion. An unreliable […]

Read more
design

Domain Driven Design: Bounded Context

Microservice architecture borrows many classical concepts. Bounded Context is one of the most important ideas of domain-driven design. A context means specific responsibility. Bounded Context implies a responsibility with explicit boundaries. Reading from a few blogs, the bounded context means more of real-world identification of responsibilities. It’s seeing things from different altitudes: An application is […]

Read more
architecture

Guidelines for a System Architect

The system architect is key personnel to enable the success of an organization. From the book, Building Microservices, I learned the following worth highlighting nuggets: An architect defines the technical vision of an organization. This vision is compatible with the strategic goals (e.g. expanding markets, market segments, etc) of the company. Taking an example of […]

Read more
architecture

Architecture Pattern: CQRS

Command and Query Responsibility Segregation provides excellent decoupling for shared data at a nominal price of higher latency for latest data. It fits very well in micro service architecture for cases of data sharing among services where one service is a reader and another a writer. Implementation Suppose there are two serviceA & B that […]

Read more