Microservices Design
Microservices design patterns including service mesh, event-driven architecture, saga...
Install
npx skills add rohitg00/awesome-claude-code-toolkit --skill microservices-design -g -a claude-code -y- Repository
- rohitg00/awesome-claude-code-toolkit2.8k
- Category
- Design
- Updated
- 6mo ago
- License
- Apache-2.0
- Context cost
- Lightabout 1,078 tokens
- Runs scripts
- No, instructions only
What it does
Microservices design patterns including service mesh, event-driven architecture, saga pattern, and API gateway
Microservices Design
Service Boundaries
Define services around business capabilities, not technical layers. Each service owns its data store and exposes a clear API contract.
order-service/ -> owns orders table, publishes OrderCreated events
inventory-service/ -> owns inventory table, subscribes to OrderCreated
payment-service/ -> owns payments table, handles payment processing
notification-service -> stateless, subscribes to events, sends emails/SMS
Event-Driven Communication
interface DomainEvent {
eventId: string;
eventType: string;
aggregateId: string;
timestamp: string;
version: number;
payload: Record<string, unknown>;
}
const orderCreatedEvent: DomainEvent = {
eventId: crypto.randomUUID(),
eventType: "order.created",
aggregateId: orderId,
timestamp: new Date().toISOString(),
version: 1,
payload: { customerId, items, totalAmount },
};
await broker.publish("orders", orderCreatedEvent);
async function handleOrderCreated(event: DomainEvent) {
const { items } = event.payload as OrderPayload;
for (const item of items) {
await db.inventory.update({
where: { productId: item.productId },
data: { quantity: { decrement: item.quantity } },
});
}
await markEventProcessed(event.eventId);
}
Use idempotency keys (eventId) to handle duplicate deliveries safely.


