moai-domain-backend
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseBackend Development Specialist
后端开发专家
Quick Reference
快速参考
Backend Development Mastery - Comprehensive backend development patterns covering API design, database integration, microservices, and modern architecture patterns.
Core Capabilities:
- API Design: REST, GraphQL, gRPC with OpenAPI 3.1
- Database Integration: PostgreSQL, MongoDB, Redis, caching strategies
- Microservices: Service mesh, distributed patterns, event-driven architecture
- Security: Authentication, authorization, OWASP compliance
- Performance: Caching, optimization, monitoring, scaling
When to Use:
- Backend API development and architecture
- Database design and optimization
- Microservices implementation
- Performance optimization and scaling
- Security integration for backend systems
后端开发精通 - 涵盖API设计、数据库集成、微服务及现代架构模式的全面后端开发模式。
核心能力:
- API设计:REST、GraphQL、基于OpenAPI 3.1的gRPC
- 数据库集成:PostgreSQL、MongoDB、Redis、缓存策略
- 微服务:服务网格、分布式模式、事件驱动架构
- 安全:身份验证、授权、OWASP合规
- 性能:缓存、优化、监控、扩容
适用场景:
- 后端API开发与架构设计
- 数据库设计与优化
- 微服务实现
- 性能优化与扩容
- 后端系统安全集成
Implementation Guide
实现指南
API Design Patterns
API设计模式
RESTful API Architecture:
Create a FastAPI application with authentication and response models. Define a Pydantic UserResponse model with id, email, and name fields. Implement list_users and create_user endpoints with HTTPBearer security dependency. The list endpoint returns a list of UserResponse objects, while the create endpoint accepts a UserCreate model and returns a single UserResponse.
GraphQL Implementation:
Use Strawberry to define GraphQL types. Create a User type with id, email, and name fields. Define a Query type with a users resolver that returns a list of User objects asynchronously. Generate the schema by passing the Query type to strawberry.Schema.
RESTful API架构:
创建带有身份验证和响应模型的FastAPI应用。定义包含id、email和name字段的Pydantic UserResponse模型。实现带有HTTPBearer安全依赖的list_users和create_user端点。列表端点返回UserResponse对象列表,创建端点接收UserCreate模型并返回单个UserResponse。
GraphQL实现:
使用Strawberry定义GraphQL类型。创建包含id、email和name字段的User类型。定义带有users解析器的Query类型,该解析器异步返回User对象列表。通过将Query类型传入strawberry.Schema来生成 schema。
Database Integration Patterns
数据库集成模式
PostgreSQL with SQLAlchemy:
Define SQLAlchemy models using declarative_base. Create a User model with id as primary key, email as unique string, and name as string column. Configure the engine with connection pooling parameters including pool_size of 20, max_overflow of 30, and pool_pre_ping enabled for connection health checks.
MongoDB with Motor:
Create a UserService class that initializes with an AsyncIOMotorClient. Set up the database and users collection in the constructor. Create indexes for email (unique) and created_at fields. Implement create_user method that inserts a document and returns the inserted_id as string.
基于SQLAlchemy的PostgreSQL:
使用declarative_base定义SQLAlchemy模型。创建以id为主键、email为唯一字符串、name为字符串列的User模型。配置带有连接池参数的引擎,包括pool_size为20、max_overflow为30,以及启用pool_pre_ping进行连接健康检查。
基于Motor的MongoDB:
创建一个使用AsyncIOMotorClient初始化的UserService类。在构造函数中设置数据库和用户集合。为email(唯一)和created_at字段创建索引。实现create_user方法,插入文档并返回字符串类型的inserted_id。
Microservices Architecture
微服务架构
Service Discovery with Consul:
Create a ServiceRegistry class that connects to Consul. Implement register_service method that registers a service with name, id, port, and health check endpoint. Implement discover_service method that queries healthy services and returns list of adddess:port strings.
Event-Driven Architecture:
Create an EventBus class using aio_pika for AMQP messaging. Implement connect method to establish connection and channel. Implement publish_event method that serializes event type and data as JSON and publishes to the default exchange with routing_key matching the event type.
基于Consul的服务发现:
创建连接到Consul的ServiceRegistry类。实现register_service方法,注册包含名称、ID、端口和健康检查端点的服务。实现discover_service方法,查询健康服务并返回地址:端口字符串列表。
事件驱动架构:
使用aio_pika创建用于AMQP消息传递的EventBus类。实现connect方法以建立连接和通道。实现publish_event方法,将事件类型和数据序列化为JSON,并发布到默认交换机,路由键与事件类型匹配。
Advanced Patterns
高级模式
Caching Strategies
缓存策略
Redis Integration:
Create a CacheManager class with Redis connection. Implement a cache_result decorator that accepts ttl parameter. The decorator generates cache keys from function name and arguments, checks Redis for cached results, executes the function on cache miss, and stores results with expiration. Use json.loads and json.dumps for serialization.
Redis集成:
创建带有Redis连接的CacheManager类。实现接受ttl参数的cache_result装饰器。该装饰器根据函数名和参数生成缓存键,检查Redis中是否存在缓存结果,缓存未命中时执行函数,并将结果存储并设置过期时间。使用json.loads和json.dumps进行序列化。
Security Implementation
安全实现
JWT Authentication:
Create a SecurityManager class with CryptContext for bcrypt password hashing. Implement hash_password and verify_password methods using the context. Implement create_access_token that encodes a JWT with expiration time using HS256 algorithm. Default expiration is 15 minutes if not specified.
JWT身份验证:
创建带有CryptContext的SecurityManager类,用于bcrypt密码哈希。使用该上下文实现hash_password和verify_password方法。实现create_access_token方法,使用HS256算法编码带有过期时间的JWT。未指定时默认过期时间为15分钟。
Performance Optimization
性能优化
Database Connection Pooling:
Create an optimized SQLAlchemy engine with QueuePool, pool_size 20, max_overflow 30, pool_pre_ping enabled, and pool_recycle of 3600 seconds. Add event listeners for before_cursor_execute and after_cursor_execute to track query timing. Log warnings for queries exceeding 100ms threshold.
数据库连接池:
创建带有QueuePool的优化SQLAlchemy引擎,pool_size为20、max_overflow为30、启用pool_pre_ping,以及pool_recycle为3600秒。添加before_cursor_execute和after_cursor_execute事件监听器以跟踪查询耗时。对超过100ms的查询记录警告日志。
Works Well With
协同工具
- moai-domain-frontend - Full-stack development integration
- moai-domain-database - Advanced database patterns
- moai-foundation-core - MCP server development patterns for backend services
- moai-quality-security - Security validation and compliance
- moai-foundation-core - Core architectural principles
- moai-domain-frontend - 全栈开发集成
- moai-domain-database - 高级数据库模式
- moai-foundation-core - 后端服务的MCP服务器开发模式
- moai-quality-security - 安全验证与合规
- moai-foundation-core - 核心架构原则
Technology Stack
技术栈
Primary Technologies:
- Languages: Python 3.13+, Node.js 20+, Go 1.23
- Frameworks: FastAPI, Django, Express.js, Gin
- Databases: PostgreSQL 16+, MongoDB 7+, Redis 7+
- Message Queues: RabbitMQ, Apache Kafka, Redis Pub/Sub
- Containerization: Docker, Kubernetes
- Monitoring: Prometheus, Grafana, OpenTelemetry
Integration Patterns:
- RESTful APIs with OpenAPI 3.1
- GraphQL with Apollo Federation
- gRPC for high-performance services
- Event-driven architecture with CQRS
- API Gateway patterns
- Circuit breakers and resilience patterns
主要技术:
- 语言:Python 3.13+、Node.js 20+、Go 1.23
- 框架:FastAPI、Django、Express.js、Gin
- 数据库:PostgreSQL 16+、MongoDB 7+、Redis 7+
- 消息队列:RabbitMQ、Apache Kafka、Redis Pub/Sub
- 容器化:Docker、Kubernetes
- 监控:Prometheus、Grafana、OpenTelemetry
集成模式:
- 基于OpenAPI 3.1的RESTful API
- 带有Apollo Federation的GraphQL
- 高性能服务的gRPC
- 基于CQRS的事件驱动架构
- API网关模式
- 断路器与弹性模式
Resources
资源
For working code examples, see examples.md.
Status: Production Ready
Last Updated: 2026-01-11
Maintained by: MoAI-ADK Backend Team
如需工作代码示例,请查看examples.md。
状态:生产就绪
最后更新:2026-01-11
维护团队:MoAI-ADK后端团队