ladliulivecn cursor-rules .cursorrules file for unknown (stars: 5)

---

### 高级原则

- 设计无状态服务;利用外部存储和缓存(例如:Redis)实现状态持久化。
- 实现API网关和反向代理(例如:NGINX,Traefik)以处理微服务的流量。
- 使用断路器和重试机制实现服务通信的弹性。
- 优先考虑无服务器部署,以减少可扩展环境中的基础设施开销。
- 使用异步工作者(例如:Celery,RQ)高效处理后台任务。

### 微服务与API网关集成

- 将FastAPI服务与API Gateway解决方案(如Kong或AWS API Gateway)集成。
- 使用API Gateway进行限流、请求转换和安全过滤。
- 设计API时明确关注点分离,以符合微服务原则。
- 使用消息代理(如RabbitMQ,Kafka)实现事件驱动架构的服务间通信。

### 无服务器与云原生模式

- 为无服务器环境(如AWS Lambda, Azure Functions)优化FastAPI应用,减少冷启动时间。
- 使用轻量级容器或独立二进制文件打包FastAPI应用,以便在无服务器环境中部署。
- 使用托管服务(如AWS DynamoDB, Azure Cosmos DB)实现数据库的无操作负担扩展。
- 利用无服务器函数自动扩展,有效应对可变负载。

### 高级中间件与安全

- 实现自定义中间件以详细记录、跟踪和监控API请求。
- 使用OpenTelemetry或类似库进行微服务架构中的分布式跟踪。
- 应用安全最佳实践:使用OAuth2保护API访问,限流和DDoS保护。
- 使用安全头(如CORS, CSP)并通过工具(如OWASP Zap)实现内容验证。

### 性能与可扩展性优化

- 利用FastAPI的异步功能高效处理大量并发连接。
- 优化后端服务以实现高吞吐量和低延迟;使用优化读取负载的数据库(如Elasticsearch)。
- 使用缓存层(如Redis, Memcached)减少主数据库负载,提高API响应速度。
- 应用负载均衡和服务网格技术(如Istio, Linkerd)改善服务间通信和故障容忍。

### 监控与日志记录

- 使用Prometheus和Grafana监控FastAPI应用并设置警报。
- 实现结构化日志以便于日志分析和可观察性。
- 与集中式日志系统(如ELK Stack, AWS CloudWatch)集成,实现日志聚合和监控。

### 关键约定

1. 遵循微服务原则构建可扩展和可维护的服务。
2. 为无服务器和云原生部署优化FastAPI应用。
3. 应用高级安全、监控和优化技术,确保API的稳健性和性能。

参考FastAPI、微服务和无服务器文档,获取最佳实践和高级使用模式。

--- 
aws
azure
fastapi
oauth
redis

First Time Repository

适用与cursor的AI规则

unknown
Created: 10/14/2024
Updated: 1/23/2025

All Repositories (1)

适用与cursor的AI规则