Backend/spring cloud (MSA)

Spring Cloud๋ž€?

dddzr 2025. 2. 16. 21:25

๐Ÿ“Œ Spring Cloud๋ž€?

Spring Cloud๋Š” Spring Framework๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜(MSA)์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชจ์Œ!!

 

1๏ธโƒฃ ๋ชฉ์ 

  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์„œ๋น„์Šค(๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค)๋ฅผ ๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ ๊ด€๋ฆฌ
  • ์„œ๋น„์Šค ๊ฐ„ ํ†ต์‹ , ์„ค์ • ๊ด€๋ฆฌ, ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ, ์žฅ์•  ์ฒ˜๋ฆฌ, ๋ฉ”์‹œ์ง• ๋“ฑ์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ์ง€์›

2๏ธโƒฃ  ํŠน์ง•

  • Spring Boot ๊ธฐ๋ฐ˜ → ๊ธฐ์กด Spring ํ”„๋กœ์ ํŠธ์™€ ์‰ฝ๊ฒŒ ํ†ตํ•ฉ ๊ฐ€๋Šฅ
  • MSA์—์„œ ๊ณตํ†ต์œผ๋กœ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ํ‘œ์ค€ํ™”๋œ ๋ฐฉ์‹์œผ๋กœ ์ œ๊ณต
  • ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ(AWS, GCP, Azure)์—์„œ๋„ ์‰ฝ๊ฒŒ ํ™•์žฅ ๊ฐ€๋Šฅ

 

3๏ธโƒฃ ์ฃผ์š” ๊ธฐ๋Šฅ / ๊ตฌ์„ฑ ์š”์†Œ

๊ธฐ๋Šฅ 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. ์„œ๋น„์Šค ๋””์Šค์ปค๋ฒ„๋ฆฌ (Service Discovery)

  • Eureka: ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๊ฐ€ ์„œ๋กœ๋ฅผ ์ฐพ๊ณ  ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„œ๋น„์Šค ์œ„์น˜ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
  • Consul, Zookeeper ๋“ฑ์˜ ์„œ๋น„์Šค ๋””์Šค์ปค๋ฒ„๋ฆฌ ๋„๊ตฌ์™€ ํ†ตํ•ฉ ๊ฐ€๋Šฅ.

 

2. API Gateway

  • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ์œ„ํ•œ API Gateway๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
  • ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์„ ๋ผ์šฐํŒ…ํ•˜๊ณ  ์ธ์ฆ, ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์„ ์ œ๊ณต.

 

3. ๋ถ„์‚ฐ ๊ตฌ์„ฑ ๊ด€๋ฆฌ

  • Spring Cloud Config๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ค์ •์„ ์ค‘์•™์—์„œ ๊ด€๋ฆฌํ•˜๊ณ , ์‹ค์‹œ๊ฐ„์œผ๋กœ ์—…๋ฐ์ดํŠธ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • Config ์„œ๋ฒ„์—์„œ ๊ฐ msa์„œ๋น„์Šค๋“ค ์„ค์ •ํŒŒ์ผ ๋ชจ์•„์„œ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ.

 

4. ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ ํ†ตํ•ฉ

  • AWS, Azure, Google Cloud Platform ๋“ฑ ๋‹ค์–‘ํ•œ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ๊ณผ์˜ ํ†ตํ•ฉ์„ ์ œ๊ณต

 

5. ์„œ๋น„์Šค ๊ฐ„ ๋ฉ”์‹œ์ง•

  • Spring Cloud Stream์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง• ์„œ๋น„์Šค์™€ ์‰ฌ์šด ์—ฐ๋™ 
  • ์ฃผ๋กœ Kafka, RabbitMQ์™€ ํ†ตํ•ฉ๋˜์–ด ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ง€์›ํ•œ๋‹ค.

 

6. ๋ถ„์‚ฐ ์ถ”์  ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง

  • Spring Cloud Sleuth, Zipkin, Prometheus ๋“ฑ์„ ์ด์šฉํ•ด ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์—์„œ์˜ ์ถ”์ ๊ณผ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ฒ˜๋ฆฌ.

 

7. ์žฅ์•  ๋ณต๊ตฌ ๋ฐ ํšŒ๋ณต

  • Hystrix์™€ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์žฅ์• ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ , ์„œ๋น„์Šค ์žฅ์•  ๋ฐœ์ƒ ์‹œ ๋Œ€์ฒด ๊ฒฝ๋กœ๋กœ ์š”์ฒญ์„ ์šฐํšŒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

 

'Backend > spring cloud (MSA)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

MSA ํ™˜๊ฒฝ์—์„œ ์ธ์ฆ/ํ† ํฐ ์žฌ์š”์ฒญ  (0) 2025.04.06
์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „์†ก  (0) 2025.02.23
Kafka๋ž€?  (0) 2025.02.23
Eureka๋ž€?  (0) 2025.02.16
GateWay๋ž€?  (0) 2025.02.16