Agent Skills: Microservices Skill

Microservices architecture patterns and best practices. Service decomposition, inter-service communication, and distributed data management.

microservicesservice-decompositioninter-service-communicationdistributed-data-managementarchitectural-patterns
architectureID: pluginagentmarketplace/custom-plugin-backend/microservices

Skill Files

Browse the full folder contents for microservices.

Download Skill

Loading file tree…

skills/microservices/SKILL.md

Skill Metadata

Name
microservices
Description
Microservices architecture patterns and best practices. Service decomposition, inter-service communication, and distributed data management.

Microservices Skill

Bonded to: architecture-patterns-agent (Secondary)


Quick Start

# Invoke microservices skill
"Decompose my monolith into microservices"
"Design API gateway for my services"
"Implement Saga pattern for distributed transactions"

Decomposition Strategies

| Strategy | Best For | Complexity | |----------|----------|------------| | By Business Capability | Clear domains | Medium | | By Subdomain (DDD) | Complex domains | High | | By Team | Conway's Law | Medium | | Strangler Fig | Migration | Low |


Service Decomposition Example

E-commerce Monolith → Microservices

├── user-service          # Authentication, profiles
├── product-service       # Catalog, inventory
├── order-service         # Orders, checkout
├── payment-service       # Transactions
├── notification-service  # Email, push, SMS
└── api-gateway           # Routing, auth, rate limiting

Communication Patterns

Synchronous (REST/gRPC)

# Service-to-service call
import httpx

async def get_user_from_user_service(user_id: str):
    async with httpx.AsyncClient() as client:
        response = await client.get(f"http://user-service/users/{user_id}")
        return response.json()

Asynchronous (Events)

# Event publishing
from kafka import KafkaProducer

producer = KafkaProducer(bootstrap_servers=['kafka:9092'])

def publish_order_created(order):
    producer.send('order-events', {
        'type': 'ORDER_CREATED',
        'order_id': order.id,
        'user_id': order.user_id
    })

Anti-Patterns to Avoid

| Anti-Pattern | Sign | Solution | |--------------|------|----------| | Distributed Monolith | Tight coupling | Define bounded contexts | | Shared Database | Multiple services, one DB | Database per service | | Chatty Services | Too many sync calls | Use async messaging | | Data Inconsistency | No transaction strategy | Implement Saga |


Troubleshooting

| Issue | Cause | Solution | |-------|-------|----------| | Cascading failures | No resilience | Circuit breakers | | Data inconsistency | Distributed tx | Saga pattern | | High latency | Chatty calls | Batch requests, cache |


Resources