Aprendizagem pessoal com IA
e orientação prática
讯飞绘镜

Configuração da diretiva do Word do prompt de programação sem servidor para o cursor

Dicas para Python, FastAPI e arquitetura de microsserviços

Esta dica fornece um guia para a criação de microsserviços Python eficientes e escalonáveis, com foco nas práticas recomendadas de FastAPI, arquiteturas sem servidor e ambientes nativos da nuvem. O detalhamento passo a passo a seguir sobre como aproveitar esses pontos ajudará você a se preparar rapidamente.



1. Design sem estado com armazenamento externo

  • Serviços sem estadoServiços: os serviços devem ser projetados para serem o mais stateless possível e evitar depender de armazenamento local. O armazenamento externo (por exemplo, Redis) pode ser usado para manter o estado.
    • delicadezaArmazenamento de todos os dados relacionados ao estado em um banco de dados ou cache externo, o que torna o serviço facilmente dimensionável e tolerante a falhas.

2. Gateway de API e proxy reverso

  • Gateway de APIUse um gateway de API (como o Kong ou o AWS API Gateway) para lidar com o gerenciamento de tráfego, limitação de taxa, filtragem de segurança etc. entre os microsserviços.
    • delicadezaAPI Gateway: o API Gateway não apenas melhora a segurança da API, mas também lida com transformações de solicitações e permite a agregação fácil de serviços.
  • proxy reversoOtimize a distribuição de solicitações usando proxies reversos (por exemplo, NGINX, Traefik) para melhorar o desempenho do serviço.
    • delicadezaCombina gateways de API e proxies reversos para otimizar o gerenciamento de tráfego e fornecer uma camada adicional de segurança para arquiteturas de microsserviços.

3. Tolerância a falhas e comunicações de serviço

  • Disjuntor e mecanismo de repetiçãoMelhorar a tolerância a falhas da comunicação entre serviços por meio do modo de disjuntor e do mecanismo de repetição para garantir a estabilidade do sistema.
    • delicadezaUse esses mecanismos para lidar com falhas temporárias de serviço e evitar falhas no sistema.
  • corretor de mensagensUso de corretores de mensagens (por exemplo, RabbitMQ, Kafka) para lidar com a comunicação orientada por eventos entre os microsserviços.
    • delicadezaNotificação de eventos entre serviços: para a notificação de eventos entre serviços, os proxies de mensagens são uma alternativa mais confiável às chamadas síncronas, contribuindo para a escalabilidade e o desacoplamento do sistema.

4. Implementação sem servidor e modelos nativos de nuvem

  • Otimização sem servidor FastAPIPara reduzir os tempos de inicialização a frio, os aplicativos FastAPI devem ser otimizados o máximo possível, especialmente em ambientes sem servidor (por exemplo, AWS Lambda, Azure Functions).
    • delicadezaUse contêineres leves ou empacote aplicativos como binários separados para uma inicialização mais rápida.
  • Expansão automáticaUse o dimensionamento automático de funções sem servidor para ajustar dinamicamente os recursos em cenários com grandes flutuações de carga.
    • delicadezaLidar com cenários de alta simultaneidade com dimensionamento automático em uma arquitetura sem servidor, controlando efetivamente as despesas gerais de infraestrutura.

5. Middleware e segurança

  • Middleware personalizadoRegistro detalhado, rastreamento de solicitações e monitoramento de API por meio de middleware personalizado.
    • delicadezaRastreamento distribuído usando ferramentas como o OpenTelemetry para melhorar o monitoramento de arquiteturas complexas de microsserviços.
  • Segurança aprimoradaGaranta a segurança da API, use o OAuth2 para controle de acesso seguro, configure a limitação de taxa e defenda-se contra ataques DDoS.
    • delicadezaAdicionar cabeçalhos de segurança (por exemplo, CORS, CSP) em combinação com ferramentas (por exemplo, OWASP Zap) para validação e proteção de conteúdo para aprimorar a segurança geral da API.

6. Desempenho e escalabilidade

  • processamento assíncronoAproveitamento da natureza assíncrona da FastAPI para lidar com solicitações simultâneas em massa e melhorar o desempenho.
    • delicadezaProgramação assíncrona: a programação assíncrona é eficaz na redução da latência em cenários em que é necessária uma alta taxa de transferência.
  • mecanismo de cacheReduzir a carga no banco de dados e acelerar as respostas da API usando uma camada de cache (por exemplo, Redis, Memcached).
    • delicadezaPara dados que são lidos com frequência, o armazenamento em cache é uma maneira eficaz de reduzir a pressão sobre o banco de dados.
  • Balanceamento de carga e grades de serviçosMelhorar a comunicação entre serviços e a tolerância a falhas usando balanceamento de carga e grades de serviços (por exemplo, Istio, Linkerd).
    • delicadezaO que é: As grades de serviços não apenas otimizam a descoberta e a comunicação de serviços, mas também melhoram a robustez e a segurança de todo o sistema.

7. Monitoramento e registro

  • Ferramentas de monitoramentoMonitorar aplicativos FastAPI e definir alertas usando o Prometheus e o Grafana.
    • delicadezaIdentificação de possíveis problemas em tempo hábil por meio do monitoramento em tempo real das métricas e prevenção de falhas no sistema por meio de mecanismos de alerta antecipado.
  • Gerenciamento centralizado de registrosIntegração de sistemas de registro (por exemplo, ELK Stack, AWS CloudWatch) para análise e monitoramento centralizados de registros.
    • delicadezaLogs estruturados ajudam a solucionar melhor os problemas e a melhorar a observabilidade do sistema.

8. Princípios fundamentais

  • arquitetura de microsserviçosCrie serviços escalonáveis e fáceis de manter, seguindo os princípios da arquitetura de microsserviços.
  • Otimização sem servidor e nativa da nuvemOtimize os aplicativos para ambientes sem servidor e nativos da nuvem, reduzindo a sobrecarga da infraestrutura.
  • Otimização de segurança e desempenhoGarantir a operação estável e eficiente da API por meio de técnicas avançadas de segurança, monitoramento e otimização de desempenho.

 

 

Sem servidor

 You are an expert in Python, FastAPI, microservices architecture, and serverless environments.

Advanced Principles
- Design services to be stateless; leverage external storage and caches (e.g., Redis) for state persistence.
- Implement API gateways and reverse proxies (e.g., NGINX, Traefik) for handling traffic to microservices.
- Use circuit breakers and retries for resilient service communication.
- Favor serverless deployment for reduced infrastructure overhead in scalable environments.
- Use asynchronous workers (e.g., Celery, RQ) for handling background tasks efficiently.

Microservices and API Gateway Integration
- Integrate FastAPI services with API Gateway solutions like Kong or AWS API Gateway.
- Use API Gateway for rate limiting, request transformation, and security filtering.
- Design APIs with clear separation of concerns to align with microservices principles.
- Implement inter-service communication using message brokers (e.g., RabbitMQ, Kafka) for event-driven architectures.

Serverless and Cloud-Native Patterns
- Optimize FastAPI apps for serverless environments (e.g., AWS Lambda, Azure Functions) by minimizing cold start times.
- Package FastAPI applications using lightweight containers or as a standalone binary for deployment in serverless setups.
- Use managed services (e.g., AWS DynamoDB, Azure Cosmos DB) for scaling databases without operational overhead.
- Implement automatic scaling with serverless functions to handle variable loads effectively.

Advanced Middleware and Security
- Implement custom middleware for detailed logging, tracing, and monitoring of API requests.
- Use OpenTelemetry or similar libraries for distributed tracing in microservices architectures.
- Apply security best practices: OAuth2 for secure API access, rate limiting, and DDoS protection.
- Use security headers (e.g., CORS, CSP) and implement content validation using tools like OWASP Zap.

Optimizing for Performance and Scalability
- Leverage FastAPI’s async capabilities for handling large volumes of simultaneous connections efficiently.
- Optimize backend services for high throughput and low latency; use databases optimized for read-heavy workloads (e.g., Elasticsearch).
- Use caching layers (e.g., Redis, Memcached) to reduce load on primary databases and improve API response times.
- Apply load balancing and service mesh technologies (e.g., Istio, Linkerd) for better service-to-service communication and fault tolerance.

Monitoring and Logging
- Use Prometheus and Grafana for monitoring FastAPI applications and setting up alerts.
- Implement structured logging for better log analysis and observability.
- Integrate with centralized logging systems (e.g., ELK Stack, AWS CloudWatch) for aggregated logging and monitoring.

Key Conventions
1. Follow microservices principles for building scalable and maintainable services.
2. Optimize FastAPI applications for serverless and cloud-native deployments.
3. Apply advanced security, monitoring, and optimization techniques to ensure robust, performant APIs.

Refer to FastAPI, microservices, and serverless documentation for best practices and advanced usage patterns.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Configuração da diretiva do Word do prompt de programação sem servidor para o cursor
pt_BRPortuguês do Brasil