-
๋ฐฐ๋ฌ์ ๋ฏผ์กฑ 'B๋งํธ' ๊ฐ์ E-Commerce Backend API ๊ตฌํ
-
๋์ฉ๋ ํธ๋ํฝ(๋ถํ์ ๋ณํ)์๋ ์ฅ์ ์์ด ์๋ต ์๋๋ฅผ ์ ์งํ ์ ์๋๋ก ๊ตฌํ
- ์ฌ์ฉ ์ค์ธ ์ธํ๋ผ๊ฐ ์์ ๋ถํ๋ฅผ ๊ฒฌ๋ ์ ์๋์ง ๋ถํ ํ ์คํธ๋ฅผ ์ค์ํ๋ค.
- ์๋ต ์๊ฐ, ํ๊ท ๋๊ธฐ ์๊ฐ, CPU/๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ฅ ๋ฑ์ ์ฒดํฌํด ์ฑ๋ฅ ๋ณ๋ชฉ ์ง์ ์ ํ์ธํ๋ค.
- ๊ฐ์ ๋ฐฉ์์ ์ฐพ์ ๋ณ๊ฒฝ ์ /ํ๋ฅผ ๋น๊ตํ๊ณ , ๋ณ๋ชฉ ํ์์ ํด๊ฒฐํ๋ค.
- Scale Out, Scale Up
- ์ธ์คํด์ค๋ฅผ ์ถ๊ฐํด ๋์ํ๋ค.
- Reactive System/Programming
- Sync/Async, Blocking/Non-Blocking ๊ฐ๋ ์ ์ดํดํ๊ณ , ์๋ต ์๋ ์ ํ์ ์์ธ์ ํ์ ํ๋ค.
- Webflux, Kafka ๋ฑ ๋น๋๊ธฐ๋ฅผ ํ์ฉํ์ฌ ์ธ๋ถ API๋ฅผ ํธ์ถํ๋ค.
- Scale Out, Scale Up
-
CI/CD ํ๊ฒฝ ๊ตฌ์ถ ๋ฐ ํ ์คํธ/๋ฐฐํฌ ์๋ํ
-
๋ชจ๋ํฐ๋ง ํ๊ฒฝ ๊ตฌ์ถ
-
Git Flow๋ฅผ ํ์ฉํ ๋ธ๋์น ๊ด๋ฆฌ
-
์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํตํ ์ฝ๋์ ์ ์ง๋ณด์์ฑ ๋ฐ ๊ฐ๋ ์ฑ ํฅ์
- Java 11, Spring Boot, Gradle, Kafka, JUnit5, Mysql
- CI/CD : Github Action, Docker
- Load Test & Monitoring : k6, Scouter
- Naver Cloud Platform
- ๊ด๋ฆฌ์ API
- ์ํ, ์์ , ๋ฐฐ๋ฌ, ๊ฒฐ์ ๊ด๋ จ ์๋น์ค
- Spring Servlet Stack
- Apache Tomcat, Spring MVC, JPA
- ์ฌ์ฉ์ API
- ์ฅ๋ฐ๊ตฌ๋, ์ฃผ๋ฌธ, ๋ฆฌ๋ทฐ ๊ด๋ จ ์๋น์ค
- ์๋์ ์ผ๋ก admin-service๋ณด๋ค ํธ๋ํฝ์ด ๋ ๋๊ณ ๊ทธ ๋ณํ ํญ์ด ๋ ํด ๊ฒ์ผ๋ก ์์๋์ด Reactive Stack์ผ๋ก ์ ํ
- Spring Reactive Stack
- Netty, Spring WebFlux, R2DBC
- ๊ฐ ๋ชจ๋์์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉํ๋ ํด๋์ค ๋ชจ์
- Response, Dto, Config ํด๋์ค ๋ฑ
- main ๋ธ๋์น์ Push/Pull-Request๊ฐ ๋ฐ์ํ ๋๋ง๋ค Github Action์์ ํ ์คํธ๋ฅผ ์ค์ํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ๋ค.
- PR์ด Merge ๋๋ฉด Github Action์ด ๊ฐ ์๋น์ค๋ง๋ค ์ค์ ํด๋ Dockerfile์ ์ฝ์ด Docker Image๋ฅผ ๋ง๋ค๊ณ Docker Hub์ Pushํ๋ค.
- Build๊ฐ ์๋ฃ๋๋ฉด (์คํฌ๋ฆฝํธ๋ฅผ ์คํํด) Docker Hub์ ์ฌ๋ ค๋์ ์ด๋ฏธ์ง๋ฅผ Pull ๋ฐ์ Docker Compose๋ก ๊ฐ ์ปจํ ์ด๋๋ฅผ ๋์ ๋ฐฐํฌ๊น์ง ์๋ฃํ๋ค.