Tag: microservices

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 flush, the counter metrics reset…

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 with a set of transformation/…

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 network and added latency for…

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 a bounded context. A level…

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 pipeline. Docker, Kubernetes are here…

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 a town planner, an architect…

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 need to share a database.…