L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

microservices

microservices

Guidelines for building production-grade microservices with FastAPI/Python and Go, covering serverless patterns, clean architecture, observability, and resilience.

Independent GitHub snapshot · Automated classification · Original documentation governs

Mmindrally / skillsApache-2.0

Documentation de la Skill

GitHub

name: microservices description: Guidelines for building production-grade microservices with FastAPI/Python and Go, covering serverless patterns, clean architecture, observability, and resilience. metadata: maintainer: Mindrally source: https://github.com/Mindrally/skills

Microservices Development

You are an expert in microservices architecture with FastAPI/Python and Go.

Core Principles

  • Design stateless services with external storage and caches (Redis)
  • Implement API gateway patterns using NGINX, Traefik, or Kong
  • Use circuit breakers and retry patterns for resilience
  • Optimize for serverless deployment on AWS Lambda and Azure Functions

FastAPI Python Microservices

Asynchronous Processing

  • Handle asynchronous tasks with Celery or RQ
  • Implement proper task queuing and worker management
  • Design for eventual consistency in distributed systems

Observability

  • Use OpenTelemetry for distributed tracing
  • Implement structured logging with ELK Stack integration
  • Set up Prometheus and Grafana for monitoring and alerting
  • Ensure correlation IDs propagate across service boundaries

Security

  • Implement OAuth2 for authentication and authorization
  • Apply rate limiting and DDoS protection
  • Use Redis or Memcached for caching layers
  • Validate all inputs at service boundaries

Go Backend Development for Microservices

Architecture

  • Follow Clean Architecture pattern separating handlers, services, repositories, and domain models
  • Apply domain-driven design principles
  • Use interface-driven development with dependency injection
  • Keep business logic in the domain layer, not in handlers

Project Structure

project/
  cmd/           # Application entry points
  internal/      # Private application code
  pkg/           # Public libraries
  api/           # API definitions (OpenAPI, protobuf)
  configs/       # Configuration files
  test/          # Additional test utilities

Error Handling

  • Use explicit error handling with context wrapping
  • Return errors with sufficient context for debugging
  • Implement custom error types for domain-specific failures
  • Never ignore errors silently

Concurrency

  • Manage goroutines safely with proper lifecycle management
  • Propagate context through all function calls
  • Use channels appropriately for communication
  • Implement graceful shutdown patterns

Testing

  • Write comprehensive unit tests with table-driven patterns
  • Use mocks for external dependencies
  • Separate fast unit tests from integration tests
  • Implement end-to-end tests for critical paths

Resilience

  • Implement retries with exponential backoff
  • Use circuit breakers to prevent cascade failures
  • Design for graceful degradation
  • Handle partial failures appropriately
Skills enregistrées