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…

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…

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…

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…

goto: Modern Continuous Delivery

The presentation https://www.youtube.com/watch?v=wjF4X9t3FMk is a great touch base on microservices deployment and development flow. The key ideas are the following: Security is needed at every step of the microservice lifecycle. End to end testing is essential. Production test is also important using a canary, red-blue strategy. Continuous integration and deployment are best modeled in a…

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…

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…

%d bloggers like this: