Candy-Nest-CLIλ₯Ό ν΅ν NestJS λ§μ΄ν¬λ‘μλΉμ€ μ€μ μλν λ° μμ°μ± μ΅μ ν
Production Ready NestJS Microservice Setup with Candy-Nest-CLI π¬
AI μμ½
Context
NestJS κΈ°λ° λ§μ΄ν¬λ‘μλΉμ€ κ΅¬μΆ μ Docker, DB, Message Broker λ± λ°λ³΅μ μΈ μΈνλΌ μ€μ μμ μΌλ‘ μΈν κ°λ° 곡μ κ³Όλ€ λ°μ. νΉν AI λꡬ νμ© μ μ€μ μ€λ₯ λλ²κΉ λ° μμ² ν ν°μ λΉμ© μλͺ¨κ° μλ°λλ λΉν¨μ¨μ μΈ μ€μΊν΄λ© κ³Όμ μ΄ λ³λͺ© μ§μ μΌλ‘ μμ©.
Technical Solution
- @inquirer/prompts κΈ°λ°μ λνν μΈν°νμ΄μ€λ₯Ό ν΅ν λ§μΆ€ν μ€ν κ΅¬μ± λ° νμ€νλ 보μΌλ¬νλ μ΄νΈ μμ±
- Kafka λ° RabbitMQ Transport Layer μ€κ³λ₯Ό ν΅ν Event-Driven μν€ν μ²μ μ μν ꡬν
- Dead Letter Queue(DLQ) λ° Retry Loop μ€μ μ ν΅ν λ©μμ§ μ²λ¦¬μ Resiliency ν보
- Opossum κΈ°λ° Circuit Breaker λμ μΌλ‘ νμ μλΉμ€ μ₯μ κ° μ 체 μμ€ν μΌλ‘ μ νλλ Cascade Failure λ°©μ§
- Pino κΈ°λ° JSON λ‘κΉ λ° Prometheus λ©νΈλ¦ ν΅ν©μ ν΅ν Observability νμ€ μ€κ³
- Swagger μλ μ°κ²° λ° Mocking κΈ°λ° Unit/E2E Test Suite μμ±μ ν΅ν νμ§ κ²μ¦ νλ‘μΈμ€ μλν
μ€μ² ν¬μΈνΈ
1. μ κ· λ§μ΄ν¬λ‘μλΉμ€ μμ± μ DLQ λ° Retry μ λ΅μ΄ ν¬ν¨λμλμ§ νμΈ
2. μΈλΆ API νΈμΆλΆμ Circuit Breaker ν¨ν΄ μ μ© μ¬λΆ κ²ν
3. λΆμ° νκ²½μ μΆμ κ°λ₯μ±μ μν Prometheus λ° κ΅¬μ‘°νλ λ‘κΉ (Pino λ±) μ€μ νμΈ
4. μΈνλΌ μ€μ μλνλ₯Ό ν΅ν λΉμ¦λμ€ λ‘μ§ μ§μ€ νκ²½ ꡬμΆ