mcpField
M
microservices

microservices

github.com/mindrally开发287729 次安装3 周前更新
代码仓库

关于 microservices

面向使用 FastAPI/Python 和 Go 开发微服务的技能,涵盖分布式服务的架构、韧性、可观测性、安全与测试实践。

主要功能

  1. 01FastAPI 异步任务处理
  2. 02Go 清洁架构与领域驱动设计
  3. 03链路追踪、日志与监控
  4. 04OAuth2、输入验证与限流
  5. 05韧性设计与故障处理

适用场景

  1. 01规划 Go 微服务代码结构
  2. 02为服务添加链路追踪和监控
  3. 03设计具备韧性的异步 API

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mindrally/skills --skill microservices

安装后在 Claude Code 中输入/microservices确认已加载。

详细介绍

微服务开发

你是精通 FastAPI/Python 和 Go 微服务架构的专家。

核心原则

  • 设计无状态服务,并使用外部存储和缓存(Redis)
  • 使用 NGINX、Traefik 或 Kong 实现 API 网关模式
  • 使用熔断器和重试模式来提升弹性
  • 针对在 AWS Lambda 和 Azure Functions 上进行无服务器部署进行优化

FastAPI Python 微服务

异步处理
  • 使用 Celery 或 RQ 处理异步任务
  • 正确实现任务排队和工作进程管理
  • 为分布式系统设计最终一致性
可观测性
  • 使用 OpenTelemetry 进行分布式追踪
  • 实现结构化日志记录,并集成 ELK Stack
  • 设置 Prometheus 和 Grafana,用于监控和告警
  • 确保关联 ID 能够跨服务边界传递
安全
  • 使用 OAuth2 实现身份验证和授权
  • 应用速率限制和 DDoS 防护
  • 使用 Redis 或 Memcached 构建缓存层
  • 在服务边界验证所有输入

Go 微服务后端开发

架构
  • 遵循整洁架构模式,将处理器、服务、存储库和领域模型分离
  • 运用领域驱动设计原则
  • 采用接口驱动开发,并使用依赖注入
  • 将业务逻辑保留在领域层,而非处理器中
项目结构
project/
  cmd/           # Application entry points
  internal/      # Private application code
  pkg/           # Public libraries
  api/           # API definitions (OpenAPI, protobuf)
  configs/       # Configuration files
  test/          # Additional test utilities
错误处理
  • 显式处理错误,并为错误添加上下文
  • 返回包含充分上下文的错误,以便调试
  • 针对特定领域的故障实现自定义错误类型
  • 绝不默默忽略错误
并发
  • 通过适当的生命周期管理安全地管理 goroutine
  • 在所有函数调用中传递上下文
  • 在通信中恰当使用 channel
  • 实现优雅关闭模式
测试
  • 使用表驱动模式编写全面的单元测试
  • 使用模拟对象处理外部依赖
  • 将快速单元测试与集成测试分开
  • 为关键路径实现端到端测试
弹性
  • 使用指数退避实现重试
  • 使用熔断器防止故障级联
  • 设计优雅降级机制
  • 妥善处理部分故障

评论

支持 Markdown