| μ΄λ¦ | μ§λ¬΄ | μν |
|---|---|---|
| kellyn.lee(μ΄κ°μ) | AI | - νμ₯ - νλΌμ΄λ¨Έλ¦¬-μΈμ»¨λ리 λ ν리카 μ λͺ½κ³ λλΉ κΈ°λ° μλΉμ€ κ°λ° |
| πββ noah.kim(κΉμ§νΈ) | νμ€ν / νλ‘ νΈμλ | - artillery Β· playwright κΈ°λ° e2e ν
μ€νΈ μ½λ μμ± - artillery.io λͺ¨λν°λ§ μλΉμ€ κ΅¬μΆ λ° λΆν ν μ€νΈ μ§ν λ° νκ° - νμμ 보 λ³κ²½ API κ°λ° - λ²κ·Έ ν½μ€ |
| huni.kwon(κΆμν) | νμ€ν / νλ‘ νΈμλ | - AWS S3 κΈ°λ° μ΄λ―Έμ§ μ
λ‘λ λ°©μ κ°λ° - λ²κ·Έ ν½μ€ |
| wren.kim(κΉμμ) | νμ€ν / λ°±μλ | - λ§μ€ν° μ¬λ μ΄λΈ κΈ°λ° Redis κΈ°λ₯ κ°λ° - RabbmitMQ κΈ°λ° λ©μΈμ§ κΈ°λ₯ κ°λ° |
| izzy.lee(μ΄μ£Όλ―Έ) | ν΄λΌμ°λ (Devops) | - μν€ν
μ³ κΈ°λ° λ ν리카 μ
λͺ½κ³ λλΉ - λ λμ€ ν΄λ¬μ€ν° νκ²½ κ΅¬μΆ - Prometeous Β· Grafana λͺ¨λν°λ§ νκ²½ κ΅¬μΆ |
| andrea.jeon(μ μ°¬νΈ) | ν΄λΌμ°λ (Devops) | - 30κ° μΈμ€ν΄μ€μ μν€ν
μ³ μ€κ³ - Prometeous Β· Grafana λͺ¨λν°λ§ νκ²½ κ΅¬μΆ - Docker + Github Actions κΈ°λ° CI/CD κ°λ° |
| mac.lee(μ΄μνΈ) | AI | - μ±ν μμ κΈ°λ₯ κ°λ° |
μ£Όμ΄μ§ μκ° λμ, λμΌν μλΉμ€λ₯Ό λμμΌλ‘ μ€μκ° λκ·λͺ¨ νΈλν½μ 견λ μ μλ μλΉμ€ λ° μν€ν μ³ μ€κ³ λ° κ°λ°
μ΄μμ§μμ μ¬μ μ μν μ±ν μλΉμ€
λ°μ΄λΈ μ½λ©μ ν λλ‘ μ μν μλΉμ€λ‘, μλΉμ€λ₯Ό μ€νν μλ μμ§λ§ μλ¬κ° λ§μ μν
- μ€ν : Next.js, Express.js, MongoDB, socket.io, Redis
- AWS κΈ°λ° μλΉμ€λ‘ μ ν
- βοΈ EC2 : t3 small μΈμ€ν΄μ€ 30κ° μ¬μ© κ°λ₯ βοΈ
- Elastic Load Balancing
- Auto Scaling
- Route 53
- ACM
- S3
- CloudFront
- CloudWatch
- λͺ¨λν°λ§ μλΉμ€λ μ ν μμ΄ μ¬μ© κ°λ₯
- Redis Elastic Cache μ¬μ© λΆκ°λ₯
- MongoDB β RDBMS λ³κ²½ λΆκ°λ₯
- μ£Όμ΄μ§ λλ©μΈ λ³κ²½ λΆκ°λ₯
- AWS μ¬μ© λΉμ© $300 μ΄λ΄λ‘ μ ν (μ΄κ³Όμ μ€κ²©)
25.07.23. (μ) ~ 25.07.25 (κΈ) - μ΄ 3μΌ
[μ±μ κ·μΉ]
- 1:1 ν λλ¨ΌνΈ νμμΌλ‘, λμΌν λΆνλ₯Ό ν λλ‘ μλΉμ€ κ°μ©μ±μ΄ μ°μν νμ΄ μΉλ¦¬
- λ¨Όμ μ μ λΆκ°ν΄μ§ νμ΄ ν¨λ°°
- 30μ΄ μ΄λ΄ λμ μ μ λΆκ° μ 무μΉλΆ, E2E κ²°κ³Ό λ ν¬νΈλ‘ μ±μ
- μ±κ³΅ / μ€ν¨ κ°μ
- response_time
- session_length
[λΆν μ μ‘ λ°©λ²]
- μ΄κΈ° 500λͺ μμ μμνμ¬ 30μ΄λ§λ€ 500λͺ μ© μ¦κ°
- μ΅λ 100,000λͺ κΉμ§ μμ°¨μ μ¦κ° λͺ©ν
- κ° μ¬μ©μλΉ μ΅μ 1κ° μ΄μμ μΉ μμΌ μ°κ²° μ μ§
- FE (Next.js) : 9κ°
- BE (Node.js, Express.js) : 10κ°
- DB (MongoDB) : 5κ°
- Cache (Redis) : 6κ°
- μΈ λ©λͺ¨λ¦¬ μ΄λ―Έμ§ μ
λ‘λ β AWS S3 μ΄λ―Έμ§ μ
λ‘λ
- νμΌμ΄ μ± μλ²μ 무κ΄νμ¬ λ°°ν¬ μ 무리 μμ
- κΈλ‘λ² CDN μ°λμ ν΅ν μ κ·Ό μλ ν₯μ
- fileData μ μ‘μΌλ‘ μΈν μλ² I/O κ°μ
- Redis β Redis λ§μ€ν° μ¬λ μ΄λΈ ꡬ쑰
- μ¬λ μ΄λΈμμ μ½κΈ° μ²λ¦¬λ₯Ό λΆμ°νμ¬ μ±λ₯ ν₯μ
- λ§μ€ν° μ₯μ μ μ¬λ μ΄λΈλ‘ λΉ λ₯΄κ² νμΌμ€λ² κ°λ₯νλλ‘ μ€κ³
- MongoDB β νλΌμ΄λ¨Έλ¦¬-μΈμ»¨λλΉ λ ν리카 μ
ꡬ쑰
- νλΌμ΄λ¨Έλ¦¬ μ₯μ μ μλμΌλ‘ μΈμ»¨λλ¦¬κ° μΉκ²©λμ΄ μλΉμ€ μ§μ
- μ¬λ¬ λ Έλμ λ°μ΄ν°κ° 볡μ λμ΄ λ°μ΄ν° μμ μ± ν보
- Redis + RabbitMQλ₯Ό ν΅ν μ½μ μν μ²λ¦¬
- Redisμμ μ½μ μν μ€μκ° μΊμ±μΌλ‘ μ¬μ©μμκ² λΉ λ₯Έ μλ΅ μ 곡
- μ½μ μν κΈ°λ₯μ λΉλκΈ°λ‘ μ²λ¦¬νμ¬ DB λΆλ΄ κ°μ
-
artillery.ioλ₯Ό νμ©νμ¬ λΆν ν μ€νΈ μ±κ³΅/μ€ν¨ λΆμ
-
Prometeous + Grafanaλ₯Ό μ΄μ©ν μ€μκ° λΆν λΆμ
- (feat) μ±ν μμ νκΈ°
- (feat) λΉλ°λ°© λΉλ°λ²νΈ μ λ ₯ κΈ°λ₯ μΆκ°
- (feat) λΉλ°λ²νΈ λ³κ²½ API μΆκ°
- (fix) μμ μ μ μΈν μ½μ νμ μ²λ¦¬
- (fix) μ‘°ν©ν μΈμ΄ 2λ² μ λ¬ μ€λ₯
- (fix) μ±ν λ§ν¬ ν΄λ¦μ 2κ° μ λ ₯ μ€λ₯
- (fix) λΈλ¦Ώ ν¬μΈνΈ, μ«μ 리μ€νΈ λ λλ§ μ€λ₯
- (fix) νλ‘ν λΉλ°λ²νΈ λ³κ²½ μλν¬μΈνΈ λ³κ²½
- (fix) νμΌ λ λλ§ μ μμ΄μ½ νμ μ€λ₯
- (fix) λν΄νΈ μ΄λ―Έμ§λ₯Ό μ¬μ©νλ μ¬μ©μμ νλ‘ν μ΄λ―Έμ§ ν΅μΌ
[κ²°κ³Ό]
- 5,000λͺ
λΆνν
μ€ μ§νμ
- μλν : 6520 ν μ€νΈ μΌμ΄μ€ μ€ν¨
- μ°λ¦¬ν (λ Έμμ»Ήμ»Ήν) : 1821 ν μ€νΈ μΌμ΄μ€ μ€ν¨
- π₯ λμ μ μ 10,000λͺ λΆνμλ μλΉμ€κ° κ°μ©νλλ‘ μ μ§λ¨ (μΉ΄μΉ΄μ€ν ν¬ λΆνΈμΊ ν μ¬μ μ΅μ΄)
λ¨κ±°μ λ κ²°μΉμ νμ₯ μμ 보λ¬κ°κΈ° (λ§ν¬)
μ§κΈκΉμ§λ μλΉμ€λ₯Ό λ§λλ λ°μλ§ μ§μ€νλ©° κ°λ°μ μ§νν΄μμ΅λλ€.
νΉν, μ¬μ©μμκ² λ λμ μ¬μ© κ²½νμ μ 곡νκ² λ€λ λͺ λΆ μλ, νλ‘ νΈμλ μ΅μ ν μμ μ λͺ°λν΄μμ΅λλ€.
νμ§λ§ μ΄λ² λΆν ν μ€νΈλ₯Ό κ³κΈ°λ‘, νλ‘ νΈμλμ κ΅νλ κ°λ°μ΄ μλ μ 체 μλΉμ€ μν€ν μ²μ ꡬ쑰μ λν μ΄ν΄κ° μΌλ§λ μ€μνμ§λ₯Ό κΉ¨λ«κ² λμμ΅λλ€. μλΉμ€λ₯Ό μ±μ₯μν€κΈ° μν΄μλ λ€μν κΈ°μ μ λν μ΄ν΄μ κ΄μ¬μ΄ νμμ μμ 체κ°νμ΅λλ€. μΉ΄μΉ΄μ€ν ν¬ λΆνΈμΊ νμμμ λ©ν λ§κ³Ό νμ μμ μ‘°μΈμ ν΅ν΄, μ€λ¬΄μμλ βλ΄ λΆμΌβλΌλ κ²½κ³κ° μμΌλ©°, νμ¬μ μν©κ³Ό νμμ λ°λΌ λ€μν μν μ μ μ°νκ² μννλ κ°λ°μκ° λμ΄μΌ ν¨μ μκ² λμμ΅λλ€. μ΄ κ²½νμ ν΅ν΄μλ μμΌλ‘λ κΈ°μ κ³Ό λΆμΌμ μ νμ λμ§ μκ³ λ μ΄λ¦° μμΈλ‘ μνλ κ°λ°μκ° λμ΄μΌκ² λ€λ λ€μ§μ νκ² λμμ΅λλ€.
λν μλΉμ€μ κ°μ©μ±μ λν΄ κΉμ΄ κ³ λ―Όνλ©΄μ, μ§κΈκΉμ§ μ νμ§ λͺ»νλ κ°λ λ€μ μλ‘κ² λ°°μ°λ κ³κΈ°κ° λμκ³ , μ΄λ κ°λ°μλ‘μ ν λ¨κ³ λ μ±μ₯ν μ μλ μ’μ κΈ°νμμ΅λλ€.
μ§λ ν΄μ»€ν€κ³Ό λ§μ°¬κ°μ§λ‘, μ²μμ λ¨μν λ¨κΈ° νλ‘μ νΈλΌκ³ μκ°νλ κ²½νμ΄ μ€μ λ‘λ μ λ₯Ό λμ± λ¨λ¨ν κ°λ°μλ‘ μ±μ₯μν€κ³ μμμ λ€μκΈ κΉ¨λ«κ² λμμ΅λλ€.