Tag: microservices
Browse 38 practical software engineering resources tagged with "microservices". Discover code recipes, design patterns, documentation templates, and in-depth guides to help you build, deploy, and maintain production-ready solutions involving microservices. Each resource is written for engineers who ship real systems, with copy-paste examples and practical trade-offs.
Microservices Architecture
Microservices decompose a system into independently deployable services that communicate over the network. The pattern increases autonomy but introduces challenges in consistency, observability, deployment, and failure isolation.
The guides and patterns below cover service boundaries, inter-service communication, saga patterns, API gateways, service discovery, and resilience. Use them to make deliberate architectural decisions rather than defaulting to microservices by hype.
Every resource includes clear explanations, copy-paste code, and practical warnings. Use them to make informed decisions, avoid production pitfalls, and speed up your delivery. If you are just getting started, read the beginner-friendly articles first; if you are experienced, jump straight to the advanced patterns and architecture guides. New resources are added regularly, so bookmark this page and check back for the latest patterns.
gRPC API with Protocol Buffers
Implement a gRPC API with Protocol Buffers. Covers service definition, code generation,...
Build gRPC Services in TypeScript with Protocol Buffers
Build production-ready gRPC services in TypeScript using Protocol Buffers. Covers unary, streaming,...
Design a Scalable API Gateway for Microservices
Build an API gateway that routes requests, handles authentication, rate limiting, caching, and...
Microservices Communication Patterns
Choose between synchronous and asynchronous communication patterns for resilient microservices...
Service Discovery
Implement service discovery with health checks, DNS-based resolution, and service registries for...
Local Microservices Development with Docker Compose
Orchestrate multi-service local environments with Docker Compose including databases, caches,...
Set Up a GraphQL Federation Gateway with Apollo
Compose multiple GraphQL services into a single federated supergraph using Apollo Federation and a...
Event-Driven Microservices
Design event-driven microservices with message brokers, event sourcing, CQRS, and eventual...
Event Streaming with Apache Kafka and Node.js
Build growth-ready event-driven systems using Apache Kafka with producers, consumers, consumer...
Task Queues and RPC with RabbitMQ and AMQP
Distribute background tasks and implement request-reply patterns with RabbitMQ using durable...
Distributed Tracing
Trace requests across distributed microservices with OpenTelemetry, Jaeger, and Zipkin for latency...
Backends for Frontends: Dedicated Backend per Client Type
How to create dedicated backends per client type. Covers BFF for web, mobile, and desktop. Covers...
Gateway Routing Pattern
Route requests to multiple backend services through a single entry point that handles cross-cutting...
Health Endpoint Monitoring Pattern
Expose lightweight health endpoints so orchestrators, load balancers, and monitoring tools can...
Ambassador Pattern for Resilient Remote Service Access
Add a local ambassador that handles retries, circuit breaking, and monitoring when calling remote...
Circuit Breaker Pattern
Prevent cascading failures by stopping requests to failing services. An architectural pattern for...
Database per Service Pattern
Give each microservice its own private database to ensure loose coupling, independent deployment,...
Event-Carried State Transfer Pattern
Replicate state changes across services by publishing events that carry the full updated entity...
Outbox Pattern
Reliably publish domain events by persisting them in an outbox table within the same database...
Saga Pattern
Manage distributed transactions across multiple services by chaining local transactions with...