microservices-architect

Design distributed system architectures and decompose monoliths into bounded-context services.

2|Updated Apr 18, 2021
One-click install
npx skills add https://github.com/rabbicse/go-projects --skill microservices-architect-rabbicse
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: microservices-architect
Source: https://github.com/rabbicse/go-projects/tree/main/projects/movie-ticket-booking/.claude/skills/microservices-architect
Command: npx skills add https://github.com/rabbicse/go-projects --skill microservices-architect-rabbicse

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you turn a monolith or an unclear distributed system idea into a production-ready microservices plan with clear service boundaries, communication choices, and failure handling.

Core Features & Use Cases

  • Decomposes domains into bounded contexts and service boundaries using domain-driven design.
  • Recommends synchronous versus asynchronous communication, including REST, gRPC, messaging, and event-driven patterns.
  • Defines data ownership, saga workflows, circuit breakers, correlation IDs, tracing, and health checks.
  • Use it when extracting services from a monolith, designing a new distributed platform, or reviewing an architecture for reliability and operability.

Quick Start

Ask for a microservices architecture plan for your product, including service boundaries, APIs, data ownership, resilience patterns, observability, and deployment guidance.

Frequently Asked Questions about microservices-architect

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I decompose a monolith into microservices with clear service boundaries?

To decompose a monolith into microservices, use domain-driven design to split domains into bounded contexts, establish database-per-service ownership, and define asynchronous handling for cross-aggregate work.

When do I need a saga pattern and circuit breakers in distributed systems?

You need the saga pattern and circuit breakers in distributed systems to manage long-running cross-aggregate workflows and prevent cascading failures, ensuring resilient communication between bounded-context services.

What's the best way to design observability and distributed tracing for microservices?

The best way to design observability for microservices is implementing correlation IDs, distributed tracing, and health checks across services, ensuring transparent monitoring of asynchronous communication patterns.

Does microservices architecture require database-per-service and asynchronous handling?

Yes, microservices architecture requires database-per-service ownership for data isolation and asynchronous handling for long-running cross-aggregate work, utilizing event-driven patterns and messaging.

How do I choose between synchronous and asynchronous communication for bounded contexts?

Choosing between synchronous and asynchronous communication for bounded contexts depends on task duration; use REST or gRPC for immediate queries, and event-driven messaging for long-running cross-aggregate work.

Why does API versioning matter when extracting services from a monolith?

API versioning matters when extracting services from a monolith because it prevents breaking changes during decomposition, ensuring stable communication across newly defined bounded contexts.