๋ณ๋ชฉ์ ๋ถ์ํ๊ณ ์์คํ ์ฑ๋ฅ์ ๊ฐ์ ํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์
๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ณผ์ ์์ ๋ฐ์ํ๋ ๋ณ๋ชฉ์ ๋ถ์ํ๊ณ ์์คํ
์ฑ๋ฅ์ ๊ฐ์ ํ๋ ๊ณผ์ ์ ํฅ๋ฏธ๋ฅผ ๋๋๋๋ค.
ํฐ์ผํ
์๋น์ค ํ๋ก์ ํธ์์ Redis Pipeline๊ณผ DB IN์ ์ ์ ์ฉํด 10๋ง ๊ฑด ๊ธฐ์ค ๋ฐฐ์น ์์
์๊ฐ์ 3.8์ด์์ 0.2์ด๋ก ๋จ์ถํ๋ฉฐ I/O ๋ณ๋ชฉ์ ํด๊ฒฐํ ๊ฒฝํ์ด ์์ต๋๋ค.
Kafka, RabbitMQ ๊ธฐ๋ฐ์ ์ด๋ฒคํธ ์ค์ฌ ์ํคํ ์ฒ์ Redis๋ฅผ ํ์ฉํ ์บ์ฑ ์ ๋ต์ ์ ์ฉํ๋ฉฐ ํ์ฅ์ฑ๊ณผ ์์ ์ฑ์ ๊ณ ๋ คํ ๋ฐฑ์๋ ์์คํ ์ ๊ตฌํํด ์์ต๋๋ค.
๋จ์ ๊ธฐ๋ฅ ๊ตฌํ์ ๋์ด ๋ฌธ์ ์ ์์ธ์ ๋ถ์ํ๊ณ ๊ตฌ์กฐ์ ์ผ๋ก ํด๊ฒฐํ๋ ๊ฐ๋ฐ์๋ก ๋์๊ฐ๊ณ ์์ต๋๋ค.
-
์ฑ๋ฅ ์ต์ ํ
- Redis Pipeline ๋์ ๋ฐ I/O ๊ตฌ์กฐ ๊ฐ์ ์ผ๋ก Batch ์ฒ๋ฆฌ ๋ณ๋ชฉ ํด๊ฒฐ
- ํฐ์ผํ ํ๋ก์ ํธ Batch ์์ ์ฑ๋ฅ 19๋ฐฐ ํฅ์ ๋ฌ์ฑ (3.8s โ 0.2s, 95% ๋จ์ถ)
-
๋ถ์ฐ ์ํคํ ์ฒ
- Kafka/RabbitMQ ๊ธฐ๋ฐ Event-Driven Architecture ๊ตฌํ ๊ฒฝํ
- Saga ํจํด ์ ์ฉ์ผ๋ก ๋ถ์ฐ ํ๊ฒฝ์์ ๋ฐ์ดํฐ ์ ํฉ์ฑ ๋ณด์ฅ ๋ฐ ์๋น์ค ๊ฐ ๊ฒฐํฉ๋ ์ํ
-
๋์์ฑ ์ ์ด ๋ฐ ๋ณด์
- ๋น๊ด์ ๋ฝ(Pessimistic Lock)์ ํ์ฉํ ๋์์ฑ ์ ์ด
- Spring Security & JWT ๊ธฐ๋ฐ ์ด์ค ํ ํฐ ์ธ์ฆ(Access/Refresh) ์์คํ ๊ตฌ์ถ
-
DevOps ๋ฐ ์๋ํ
- GitHub Actions Matrix Strategy ๊ธฐ๋ฐ ๋ฉํฐ ๋ชจ๋ ๋ณ๋ ฌ ๋น๋ ํ๊ฒฝ ๊ตฌ์ถ
- Docker Compose & SSH Action์ ํ์ฉํ CI/CD ๋ฐฐํฌ ํ์ดํ๋ผ์ธ ์๋ํ
| ํ๋ก์ ํธ ๋ช | ์ค๋ช | ๊ธฐ์ ์คํ | ์ญํ | ๊ธฐ๊ฐ | ๊ด๋ จ ๋งํฌ |
|---|---|---|---|---|---|
| ๐ ๊ณต์ฐ ๋ฐ ์ฝ์ํธ ํฐ์ผํ ํ๋ซํผ | ๋๊ท๋ชจ ๊ณต์ฐ ์๋งค ํธ๋ํฝ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์ค์๊ฐ ํฐ์ผ ์๋งค ๋ฐฑ์๋ ์์คํ | Java Spring Boot MySQL Redis Kafka FeignClient QueryDSL TossPayments API Docker EC2 GitHub Actions |
- ๊ณต์ฐยท์๋งคยท๊ฒฐ์ ๋๋ฉ์ธ API ์ค๊ณ ๋ฐ ๊ฐ๋ฐ - Kafka ๊ธฐ๋ฐ ๋น๋๊ธฐ ๋ฉ์์ง ์ฒ๋ฆฌ - Redis ์บ์ฑ ๋ฐ ๋์์ฑ ์ ์ด ์ ์ฉ - FeignClient ๊ธฐ๋ฐ ์๋น์ค ๊ฐ ํต์ ๊ตฌํ - GitHub Actions + Docker๋ฅผ ์ด์ฉํ CI/CD ๊ตฌ์ถ |
2025.04 ~ 2024.05 | GitHub |
| ๐ป ๋ฌผ๋ฅ ๊ด๋ฆฌ ๋ฐ ๋ฐฐ์ก ํ๋ซํผ | ์ฃผ๋ฌธยท์ํยท์ ์ฒด ๊ฐ ์ฐ๋๋๋ ๋ฌผ๋ฅ ๊ด๋ฆฌ ๋ฐ ๋ฐฐ์ก ์๋ํ ์์คํ | Java Spring Boot PostgreSQL Redis RabbitMQ FeignClient QueryDSL Gemini API Slack API Docker |
- ์ฃผ๋ฌธยท์ํยท์
์ฒด ๊ฐ ์ฌ๊ฐ(Saga) ํจํด ๊ธฐ๋ฐ ํ๋ก์ธ์ค ์ค๊ณ - ๋๋ฉ์ธ REST API ๋ฐ ๋ฉ์์ง ๊ธฐ๋ฐ MSA ๊ตฌ์กฐ ์ค๊ณ - RabbitMQ ๊ธฐ๋ฐ ์ด๋ฒคํธ ์ฒ๋ฆฌ ๊ตฌ์กฐ ์ค๊ณ ๋ฐ ์ด์ - ์ด๋ฒคํธ ์ํ์ค ์ ๋ฆฌ ๋ฐ ํ ๋ฆฌ๋ฉ (ํ์ฅ) |
2025.03 | GitHub |
| ๐ฆ ๋ฐฐ๋ฌ ์ฃผ๋ฌธ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ | ๋ฐฐ๋ฌ ์ฃผ๋ฌธ ๋ฐ ํ์ ์ธ์ฆ ๊ธฐ๋ฅ์ ํฌํจํ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ | Java Spring Boot Spring Security QueryDSL Swagger (Springdoc OpenAPI) PostgreSQL H2 Tomcat 9.0 JWT Docker Docker Compose nginx GitHub Actions |
- USER ๋๋ฉ์ธ ์ค๊ณ ๋ฐ ์ธ์ฆ/์ธ๊ฐ ๋ก์ง ๊ตฌํ - JWT ๋ฐ๊ธ ๋ฐ ์ฌ๋ฐ๊ธ ๊ธฐ๋ฅ ๊ฐ๋ฐ - Spring Security ๊ธฐ๋ฐ ํ ํฐ ์ธ์ฆ ๊ตฌ์กฐ ์ค๊ณ |
2025.02 | GitHub |
| ๐ฑ ๋์ด ์ฒดํ ๊ธฐํ ๋ฐ ํ๋ณด ์์ ์ ์ ์ง์ ํ๋ซํผ | ๋๊ฐ์ ์ฒดํ ๋ฑ๋ก์ ๋๊ณ AI ๊ธฐ๋ฐ ๋ฆฌ๋ธ๋๋ฉยท์ถ์ฒยทํ๋ณด ์์ ์ ์์ ์ ๊ณตํ๋ ์น ์๋น์ค | Java Spring Boot Elasticsearch FastAPI OpenAI API MySQL React Docker |
- ๋์ฅ ๋ฐ ์ฒดํ ๋๋ฉ์ธ API ์ค๊ณ ๋ฐ ๊ฐ๋ฐ - OpenAI API ์ฐ๋์ผ๋ก ์ฒดํ ๋ฆฌ๋ธ๋๋ฉ ๋ฐ ๋ง์ถคํ ์ถ์ฒ ๊ธฐ๋ฅ ๊ตฌํ - Elasticsearch ๊ธฐ๋ฐ ๊ณ ๊ธ ๊ฒ์ ๊ธฐ๋ฅ ๊ฐ๋ฐ |
2025.08 ~ 2025.10 | GitHub |
| ์ฃผ์ (Topic) | ๊ด๋ จ ๋งํฌ (Link) |
|---|---|
| ๐ [๋ฆฌ๋ทฐ ํ์ ] ์ฑ๋ฅ ์ต์ ํ (Query Indexing & Redis Pipeline) | Blog |
| ๐ [MySql] MySql์์ UUID,Double ํ์ ์ฒ๋ฆฌ | Blog |
| ๐ [Redis ์ง๋ ฌํ] Redis ์บ์ฑ - Jackson LocalDateTime ์ง๋ ฌํ ๋ฌธ์ ํด๊ฒฐ | Blog |
| ๐ [๋๋ฉ์ธ ์ค๊ณ] ๊ฒฐ์ ๋๋ฉ์ธ ํธ๋ฌ๋ธ์ํ (์ฑ ์ ๋ถ๋ฆฌ) | Blog |
| ๐ป [๋์์ฑ ์ ์ด] ์ฌ๊ณ ๊ฐ์ ๋์์ฑ ์ ์ด (RabbitMQ & ๋น๊ด์ ๋ฝ) | Blog |
| ๐ป [Saga Pattern] ๋ฌดํ ์ฌ์๋ ๋ฐฉ์ง (Redis ํ์ฉ) | Blog |
| ๐ฆ [Spring MVC] ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ์์ (ํธ๋ฌ๋ธ์ํ ) | Blog |
| ๐ฑ [Elasticsearch] '_class' ํ๋ ์ญ์ง๋ ฌํ ๋ฌธ์ ํด๊ฒฐ | Blog |


