๐ 1. ์๋น์ค ๋ฑ๋ก & ํต์
โ 1-1. Spring Cloud
- Spring Framework๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ(MSA)์์ ์ฌ์ฉํ ์ ์๋ ๋๊ตฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ์!!
- ์๋น์ค ๊ฐ ํต์ , ์ค์ ๊ด๋ฆฌ, ๋ก๋๋ฐธ๋ฐ์ฑ, ์ฅ์ ์ฒ๋ฆฌ, ๋ฉ์์ง ๋ฑ์ ํธ๋ฆฌํ๊ฒ ์ง์
๐ ์ฃผ์ ๊ธฐ๋ฅ / ๊ตฌ์ฑ ์์
| ๊ธฐ๋ฅ | Spring Cloud ๋ชจ๋ | ์ค๋ช |
| ์๋น์ค ๋ฑ๋ก & ๊ฒ์ | Eureka | ์๋น์ค๊ฐ ์ด๋์ ์๋์ง ๋ฑ๋กํ๊ณ ์กฐํ |
| ๋ก๋๋ฐธ๋ฐ์ฑ | Spring Cloud LoadBalancer | ํด๋ผ์ด์ธํธ ์ธก์์ ์์ฒญ์ ์ฌ๋ฌ ์ธ์คํด์ค๋ก ๋ถ์ฐ |
| API Gateway | Spring Cloud Gateway | ๋จ์ผ ์ง์ ์ ์์ ๋ผ์ฐํ , ํํฐ๋ง, ๋ก๋๋ฐธ๋ฐ์ฑ ์ง์ |
| ์ค์ ๊ด๋ฆฌ | Spring Cloud Config | ๋ถ์ฐ ์๋น์ค์ ๊ณตํต ์ค์ ์ ์ค์์์ ๊ด๋ฆฌ |
| ๋ฉ์์ง | Spring Cloud Stream | Kafka, RabbitMQ ๋ฑ๊ณผ ์ฐ๋ํ ์ด๋ฒคํธ ๊ธฐ๋ฐ ํต์ |
| ํ๋ก ์ฐจ๋จ(Fault Tolerance) | Resilience4j / Hystrix(๊ณผ๊ฑฐ) | ์๋น์ค ์ฅ์ ๋ฐ์ ์ ์์ฒญ ์ฐจ๋จ, fallback ์ฒ๋ฆฌ |
| ๋ถ์ฐ ์ถ์ | Sleuth + Zipkin | ๋ง์ดํฌ๋ก์๋น์ค ํธ์ถ ํ๋ฆ ์ถ์ , ๋ก๊น ์ฐ๋ |
โ 1-2. GateWay
- Spring Cloud GateWay๋ก ๊ตฌ์ฑ
- ๋จ์ผ ์ง์ ์ (Entry Point) ์ญํ .
- ์์ฒญ ๋ผ์ฐํ (Request Routing): Eureka์ ์ฐ๋ํ์ฌ ์๋น์ค๋ก ์ ๋ฌํ๋ค.
- ์ธ์ฆ ๋ฐ ์ธ๊ฐ (Authentication & Authorization): ์ธ์ฆ ํ ํฐ ๊ฒ์ฆ, ๊ถํ ํํฐ ์ ์ฉ.
- ๋ก๋ ๋ฐธ๋ฐ์ฑ (Load Balancing): Spring Cloud LoadBalancer๊ฐ ๋ก๋๋ฐธ๋ฐ์ฑ.
โ 1-3. Eureka
- Netflix์์ ๊ฐ๋ฐํ ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ ๋๊ตฌ (์๋น์ค ์์น ๊ด๋ฆฌ)
- ์์กด์ฑ ์ถ๊ฐํ์ฌ ๋ฐ๋ก ์ด์ฉ 'Org.springframework.cloud:spring-cloud-starter-netflix-eureka-server'
๐ 2. ์ธ์ฆ/์ธ๊ฐ ๋ฐฉ๋ฒ
โ 2-1. ์ธ์ฆ ๋ฐฉ์
- JWTํ ํฐ(access token) ์์ฒด ๋ฐ๊ธ ํ์ฌ ์ด์ฉ
โ 2-2. ๊ฒ์ฆ ๋ฐฉ์
- Security ์๋น์ค์์ ๋ก๊ทธ์ธapi ์ ๊ณต, ํ ํฐ ๋ฐ๊ธ
- Client๋ ์์ฒญํค๋์ ํ ํฐ์ ํฌํจํ์ฌ ๋ณด๋ธ๋ค.
- Gateway์์ ํ ํฐ ๊ฒ์ฆ, Spring Security ์ค์ ํตํ ํํฐ๋ง (๊ถํ ๊ฒ์ฌ)
- JwtAuthenticationFilter๋ฅผ ํํฐ๋ฅผ ๋ณ๋ ์์ฑํ์ฌ spring security ํํฐ ์ฒด์ธ์ ์ ์ฉํ๋ค.
- ์ฃผ์: gateway๋ webfluxํ๊ฒฝ์ด๋ผ spring security ์ฌ์ฉ๋ฒ์ด ์ผ๋ฐ web๊ณผ ๋ค๋ฆ!!
'Backend > spring cloud (MSA)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| OpenFeign: MSA ์๋น์ค ๊ฐ ํต์ (0) | 2025.04.10 |
|---|---|
| Elasticsearch๋? (0) | 2025.04.10 |
| ๋ฐ์ดํฐ ํตํฉ ์กฐํ ๋ฐฉ๋ฒ ์ค๊ณ (0) | 2025.04.06 |
| MSA ํ๊ฒฝ์์ ์ธ์ฆ/ํ ํฐ ์ฌ์์ฒญ (0) | 2025.04.06 |
| ์ค์๊ฐ ๋ฐ์ดํฐ ์ ์ก (0) | 2025.02.23 |