Software Architecture/MSA

[MSA ๊ตฌ์ถ•ํ•˜๊ธฐ] 4. Eureka ํด๋ผ์ด์–ธํŠธ์— ๋žœ๋ค ํฌํŠธ ํ• ๋‹นํ•˜๊ธฐ (Service Discovery)

bu119 2024. 3. 14. 09:00
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ”Š ์šฐ๋ฆฌ๋Š” Spring Cloud๋ฅผ ํ™œ์šฉํ•˜์—ฌ MSA๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค.

 

Service Discovery ํŒŒํŠธ 3

 

Service Discovery์˜ ์—ญํ• ์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•˜์ž๋ฉด,

Service Discovery๋ž€?

  • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜ ์ •๋ณด(์œ„์น˜ ๋“ฑ)๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์™ธ๋ถ€์˜ ์š”์ฒญ์ด๋‚˜ ์„œ๋น„์Šค๊ฐ€ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.

Spring Cloud์—์„œ๋Š” Spring Cloud Netflix Eureka๊ฐ€ Service Discovery์˜ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. Eureka๋Š” Eureka Server์™€ Eureka Client๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

 

Eureka ํด๋ผ์ด์–ธํŠธ๋ž€?

MSA๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์š”์†Œ๋“ค ์ค‘ Eureka ์„œ๋ฒ„์—์„œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์›ํ•˜๋Š” ์š”์†Œ๋ฅผ Eureka ํด๋ผ์ด์–ธํŠธ ์„ค์ •์„ ์ง„ํ–‰ํ•ด์„œ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๐Ÿ”Š ์ด๋ฒˆ์—๋Š”, ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด Eureka Client์—๊ฒŒ ๋žœ๋ค ํฌํŠธ๋ฅผ ๋ถ€์—ฌํ•  ๊ฒƒ์ด๋‹ค.

 

โ“ Service Discovery์˜ Eureka Client๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ๊ธ€ ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ๋งŽ์€ ๋ธ”๋กœ๊ทธ์˜ ์ž๋ฃŒ๋ฅผ ์ฐพ์•„๋ดค๋‹ค. ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ๋žœ๋ค ํฌํŠธ๋กœ ์„ค์ •ํ•˜๋Š” ๋ธ”๋กœ๊ทธ ๊ธ€๋“ค์ด ๋งŽ์ด ์žˆ์—ˆ๋Š”๋ฐ ๊ทธ ์ด์œ ์— ๋Œ€ํ•ด์„œ๋Š” ๋ช…ํ™•ํ•˜์ง€ ์•Š์•˜๋‹ค. ์ด์œ ๋ฅผ ๋ชจ๋ฅด๊ณ  ๊ทธ๋Œ€๋กœ ์ ์šฉํ•  ์ˆ˜๋Š” ์—†๊ธฐ ๋•Œ๋ฌธ์— ์™œ ๋žœ๋คํฌํŠธ๋ฅผ ์ ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ–ˆ๋Š”์ง€ ๊ทธ ์ด์œ ์— ๋Œ€ํ•ด ๋” ํŒŒํ—ค์ณค๋‹ค. ๊ทธ ๊ฒฐ๊ณผ, ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋žœ๋คํฌํŠธ๋ฅผ ์„ค์ •ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.


โญ ๊ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋žœ๋ค ํฌํŠธ๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ์ด์œ ?

๋žœ๋คํฌํŠธ์˜ ์‚ฌ์šฉ ์—ฌ๋ถ€๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š”์ง€, LB(๋กœ๋“œ๋ฐธ๋žœ์„œ)๋กœ ๊ตฌ์„ฑ๋˜์–ด ์‚ฌ์šฉ๋˜๋Š”์ง€, ์‚ฌ์šฉ ์‹œ ๋ฌธ์ œ๊ฐ€ ๋˜์—ˆ์„ ๋•Œ ๋ณต๊ท€ํ•ด์•ผ ํ•˜๋Š” ๊ตฌ์กฐ๋Š” ์–ด๋–ป๊ฒŒ ๋˜์–ด ์žˆ๋Š”์ง€ ๋“ฑ์— ๋”ฐ๋ผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ด ํ”„๋กœ์ ํŠธ์—์„œ ๋žœ๋คํฌํŠธ(port: 0)์— ๋Œ€ํ•œ ์„ค์ •์€ LB์‚ฌ์šฉ์„ ๋ณด์ด๊ธฐ ์œ„ํ•จ์ด๊ณ , ํฌํŠธ๋ฅผ ๊ณ ์ •(port: 8081)์œผ๋กœ ์„ค์ •ํ•œ ์ƒํƒœ์—์„œ ์ง„ํ–‰ํ•ด๋„ ๋ฌธ์ œ๋Š” ์—†๋‹ค.

๋‹ค๋งŒ, Service Discovery์—์„œ ๋“ฑ๋ก๋œ ์„œ๋น„์Šค๋“ค์ด ํฌํŠธ ๊ฐ„์˜ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ, ํ•ด๋‹น ์„œ๋น„์Šค๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ํฌํŠธ๋ฅผ ์ง€์ •ํ•˜์—ฌ ์ƒˆ๋กญ๊ฒŒ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ , ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•œ ์„œ๋น„์Šค๋Š” ์ค‘์ง€์‹œ์ผœ ๋ฒ„๋ฆฌ๊ฒŒ ๋œ๋‹ค. ํฌํŠธ๋ฅผ ์ž˜ ๊ตฌ๋ถ„ํ•˜์—ฌ ์„œ๋น„์Šค๋“ค์„ ๋ฐฐํฌํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์„ ์ˆ˜๋„ ์žˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ, ์„œ๋น„์Šค์—์„œ LB๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋˜์–ด ์žˆ๋‹ค๋ฉด, LB์— ์—ฐ๊ฒฐ๋˜๋Š” ๋‹ค์ˆ˜์˜ ๋™์ผ ์„œ๋น„์Šค๋“ค์€ ๊ฐ™์€ ํ˜•ํƒœ(์ฝ”๋“œ)๋กœ ์ž‘์„ฑ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ธ๋ฐ, ๋งค๋ฒˆ ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ํฌํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์ž‘์—…์„ ํ•˜๊ธฐ์—๋Š” ๋ฒˆ๊ฑฐ๋กœ์šธ ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ๋žœ๋คํฌํŠธ๋กœ ์‹คํ–‰ํ•˜๋ฉฐ ์ž„์˜์˜ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ํฌํŠธ๊ฐ€ ํ• ๋‹น๋˜๊ณ , Service Discovery์— ๋“ฑ๋ก๋  ๋•Œ๋Š” ์„œ๋น„์Šค๋ช…์œผ๋กœ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์„œ๋น„์Šค๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด๋„ ํ•˜๋‚˜์˜ ์„œ๋น„์Šค๋ช…์ด ์š”์ฒญ์„ ๋ฐ›์•„ ํ•ด๋‹น ์„œ๋น„์Šค๋“ค์— ์š”์ฒญ์ฒ˜๋ฆฌ๋ฅผ ๋ฐฐ๋ถ„ํ•ด ์ค„ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

์‹ค์ œ๋กœ MSA ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋“ค์€ ์ปจํ…Œ์ด๋„ˆ ๊ฐ€์ƒํ™” ํ˜•ํƒœ๋กœ ์šด์˜๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ธ๋ฐ, Docker๋‚˜ Kubernetes์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ธฐ๋™ ํ•  ๋•Œ๋Š” ์™ธ๋ถ€์™€ ์—ฐ๊ฒฐ๋˜๊ธฐ ์œ„ํ•œ ํฌํŠธ๋ฅผ ๋žœ๋คํฌํŠธ๋กœ ์„ค์ •(๋ฒ”์œ„๋Š” ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค)๋˜์–ด ์‚ฌ์šฉ๋œ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ์ž์ฒด๋Š” ๋…๋ฆฝ์ ์ธ IP๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” VM์ด๋ผ๊ณ  ๋ณด์‹œ๋ฉด ๋˜๊ณ , ์ด ์•ˆ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํฌํŠธ๋Š” ์–ด๋– ํ•œ ํฌํŠธ๋กœ ์ง€์ •๋˜์–ด ์žˆ๋”๋ผ๋„ ์ƒ๊ด€์—†์ด, ์ปจํ…Œ์ด๋„ˆ ์™ธ๋ถ€ํ•˜๊ณ ์˜ ์—ฐ๊ฒฐ๋งŒ ์ž˜ ๋˜์–ด ์„œ๋น„์Šค๋˜๋Š” ๊ตฌ์กฐ๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.

 


Eureka ํด๋ผ์ด์–ธํŠธ ๋žœ๋ค ํฌํŠธ ์ง€์ •ํ•˜๊ธฐ

์กด์žฌํ•˜๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋ชจ๋‘์—๊ฒŒ ๋™์ผํ•˜๊ฒŒ ์„ค์ •ํ•œ๋‹ค.

  1. user-service
  2. baverage-service
  3. community-service

 

์ผ๋ฐ˜์ ์ธ ํ™˜๊ฒฝ์—์„œ๋Š” ์ง€์ •๋œ PORT๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์šด์˜ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ MSA์™€ ๊ฐ™์ด LB ํ™˜๊ฒฝ์„ ์œ„ํ•ด ์—ฌ๋Ÿฌ ์„œ๋น„์Šค๋ฅผ ๋“ฑ๋กํ•˜๊ฑฐ๋‚˜ ์ž๋™์œผ๋กœ ์„œ๋น„์Šค๊ฐ€ ์ฆ๊ฐ€๋˜์–ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ๋Š” random port๋ฅผ ์ด์šฉํ•œ๋‹ค. ๋™์ผํ•œ ์„œ๋น„์Šค๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด, ๊ด€๋ฆฌ์ž๊ฐ€ ๋งค๋ฒˆ PORT ๋ฒˆํ˜ธ๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ๋„ ํ•œ๊ณ„๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 

์•„๋ž˜์˜ ์‹ค์Šต์„ ํ†ตํ•ด ํ™•์ธํ•ด ๋ณด์ž.

 

๋งŒ์•ฝ, user-service ์ธ์Šคํ„ด์Šค๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ๋„์šด๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™ ๋งค๋ฒˆ ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ๋ฐ”๊พธ๊ณ  ์‹คํ–‰ํ•˜๊ธฐ ๋ถˆํŽธํ•˜๋‹ค.

 

4. Eureka ํด๋ผ์ด์–ธํŠธ์— ๋žœ๋ค ํฌํŠธ ํ• ๋‹น

 yml ํŒŒ์ผ์—์„œ port๋ฒˆํ˜ธ๋ฅผ 0๋ฒˆ์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๊ฐ™์€ ์„œ๋น„์Šค๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋žœ๋ค์œผ๋กœ ํฌํŠธ ๋ฒˆํ˜ธ๊ฐ€ ํ• ๋‹น๋œ๋‹ค.

# application.yml

# ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ 0์œผ๋กœ ๋‘๋ฉด ํฌํŠธ๋ฒˆํ˜ธ๊ฐ€ ๋งค๋ฒˆ ๋žœ๋ค์œผ๋กœ ํ• ๋‹น๋œ๋‹ค.
server:
    port: 0

 

server port ์„ค์ •์„ ๋žœ๋ค ํฌํŠธ๋กœ ์ง€์ •ํ•ด ์ฃผ๋ฉด ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค spring boot๊ฐ€ 50,000 ์ด์ƒ์ธ ๋žœ๋ค ํ•œ port ๋ฒˆํ˜ธ๋ฅผ ํ• ๋‹นํ•ด ์ค€๋‹ค.


Spring Cloud Eureka ์„œ๋ฒ„  ์‹คํ–‰

Status์— ํฌํŠธ๋ฒˆํ˜ธ๊ฐ€ 0์œผ๋กœ ๋ณด์ด์ง€๋งŒ, ๋งˆ์šฐ์Šค๋กœ ์ด ์ฃผ์†Œ์— ์ปค์„œ๋ฅผ ์˜ฌ๋ ค๋†“์œผ๋ฉด ์™ผ์ชฝ ํ•˜๋‹จ์—

http://desktop-4v4j52s:51873/actuator/info  ์ฆ‰, 51873 ํฌํŠธ๊ฐ€ ๋žœ๋ค์œผ๋กœ ํ• ๋‹น๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

๊ทธ๋Ÿฌ๋‚˜, ์œ„์™€ ๊ฐ™์ด ์„ค์ •ํ•  ๊ฒฝ์šฐ eureka ์„œ๋ฒ„์˜ ์ธ์Šคํ„ด์Šค ์ด๋ฆ„์€ 0์œผ๋กœ ๊ณ ์ •๋˜์–ด ์„œ๋ฒ„๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ๋„์šฐ๋”๋ผ๋„  ESKTOP-4V4J52S:user-service:0 ๋กœ ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•œ ๊ฐœ๋งŒ ๋“ฑ๋ก๋˜๊ฒŒ ๋œ๋‹ค.

 

 

ํฌํŠธ๋ฒˆํ˜ธ๊ฐ€ 0์ธ user-service๋ฅผ 3๊ฐœ ๋„์› ์ง€๋งŒ  eureka ์„œ๋ฒ„์—๋Š” 1๊ฐœ๋กœ ๋‚˜์˜จ๋‹ค.

์ฆ‰, ๋™์ผํ•œ service application์ด ์—ฌ๋Ÿฌ ๊ฐœ ์‹คํ–‰๋  ๋•Œ yml์—์„œ ์„ค์ •ํ•œ port์ธ 0์œผ๋กœ ์ธ์‹์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ๊ฐ์˜ ์„œ๋น„์Šค๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ๋”ฐ๋ผ์„œ, ์ธ์Šคํ„ด์Šค id ๊ฐ’์„ ์žฌ์ •์˜ ํ•ด์•ผ ํ•œ๋‹ค.


5. ์ธ์Šคํ„ด์Šค ID ๊ฐ’  ์žฌ์ •์˜

random port ์ง€์ • ์‹œ ์„œ๋น„์Šค๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ๊ฐ์˜ ์„œ๋น„์Šค๋ฅผ instance-id๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.

eureka ํด๋ผ์ด์–ธํŠธ๋“ค์˜ instance-id ๊ฐ’์„ ๋žœ๋ค์œผ๋กœ ๋ถ€์—ฌํ•œ๋‹ค.

# application.yml

# eureka ์„ค์ •
eureka:
  instance:
    # ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์œ ๋ ˆ์นด ์„œ๋ฒ„์—์„œ ๊ฐ๊ฐ์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์„ค์ •
    # 'random.value๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋žœ๋ค ๊ฐ’์„ ์ƒ์„ฑํ•ด ๊ฐ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„
    instance-id: ${spring.cloud.client.hostname}:${spring.application.instance_id:${random.value}}
  • eureka: instance: instance-id:
    • ํ”„๋กœ์ ํŠธ๋ฅผ eureka ์„œ๋ฒ„์— ๋“ฑ๋กํ•˜๊ณ  ์œ ๋ ˆ์นด ์„œ๋ฒ„๋กœ ์ ‘์†ํ•ด ๋ณด๋ฉด ์œ„์™€ ๊ฐ™์ด ๋“ฑ๋ก๋œ ์„œ๋น„์Šค๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ํ•˜์ง€๋งŒ, ๊ฐ™์€ ํ”„๋กœ์ ํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ๋„์šฐ๊ฒŒ ๋˜๋ฉด ํฌํŠธ๋ฒˆํ˜ธ๊ฐ€ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ๊ฐœ ๋„์›Œ์ง€๋”๋ผ๋„ eureka ์„œ๋ฒ„์— 1๊ฐœ๋งŒ ํ‘œ์‹œ๋˜๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•œ๋‹ค.
    • ๋”ฐ๋ผ์„œ, ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ๊ตฌ๋ถ„ํ•ด ์ฃผ๊ธฐ ์œ„ํ•ด ํ‘œ๊ธฐ๋˜๋Š” instance-id ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด์„œ ์ ์šฉํ•ด ์ฃผ๋Š” ์„ค์ •์ด๋‹ค.
  • ${spring.cloud.client.hostname}
    • ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ (ip ํ‘œ์‹œ)
  • ${spring.application.instance_id:${random.value}}
    • ์ธ์Šคํ„ด์Šค id ๊ฐ’์„ ๋žœ๋ค์œผ๋กœ ์„ค์ •

6. ํ˜„์žฌ๊นŒ์ง€ ์ตœ์ข… application.yml ํŒŒ์ผ

# application.yml

# ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ๋žœ๋ค ํฌํŠธ๋กœ ์ง€์ •
server:
  port: 0

# ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ ์ง€์ •
spring:
  application:
    name: user-service

# eureka ์„ค์ •
eureka:
  client:
    # eureka ๋“ฑ๋ก ์—ฌ๋ถ€
    register-with-eureka: true
    # eureka ์„œ๋ฒ„๋กœ ๋ถ€ํ„ฐ ์ธ์Šคํ„ด์Šค๋“ค์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ฌ ๊ฒƒ์ธ์ง€ ์„ค์ •ํ•˜๋Š” ์†์„ฑ
    fetch-registry: true
    # eureka ์„œ๋ฒ„ ์ฃผ์†Œ์— ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์ •๋ณด ๋“ฑ๋ก
    service-url:
      defaultZone: http://admin:1234mst@localhost:8761/eureka
  instance:
    # ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์œ ๋ ˆ์นด ์„œ๋ฒ„์—์„œ ๊ฐ๊ฐ์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์„ค์ •
    # 'random.value๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋žœ๋ค ๊ฐ’์„ ์ƒ์„ฑํ•ด ๊ฐ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„
    instance-id: ${spring.cloud.client.hostname}:${spring.application.instance_id:${random.value}}

 

๋ฐ˜์‘ํ˜•

Spring Cloud Eureka ์„œ๋ฒ„  ์‹คํ–‰

instance-id๋ฅผ ๋žœ๋ค์œผ๋กœ ๋ถ€์—ฌํ•˜๋ฉด Eureka server์—์„œ ์„ค์ •ํ•œ instance-id๋กœ ์ธ์Šคํ„ด์Šค๊ฐ€ ๊ฐ๊ฐ ๋ณด์ด๊ฒŒ ๋œ๋‹ค.

3๊ฐœ์˜ user-service๋ฅผ ์‹คํ–‰์‹œํ‚ค๋ฉด ๊ฐ๊ฐ instance-id ๊ฐ€ ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑ๋˜์–ด Eureka server์—์„œ ์ •์ƒ์ž‘๋™ํ•œ๋‹ค.

user-service 3๊ฐœ ์‹คํ–‰

 

 


์ฐธ๊ณ  ์ž๋ฃŒ

https://www.inflearn.com/questions/193571/instance-id-%EB%8C%80%EC%8B%A0-port%EB%A5%BC-%EB%B3%B4%EC%97%AC%EC%A3%BC%EB%8A%94-%EB%B0%A9%EB%B2%95%EC%9D%80-%EC%97%86%EC%9D%84%EA%B9%8C%EC%9A%94

https://www.inflearn.com/questions/681124/%EA%B0%81-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%97%90-%EB%9E%9C%EB%8D%A4%ED%8F%AC%ED%8A%B8%EB%A5%BC-%EB%B6%80%EC%97%AC%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0

https://yarisong.tistory.com/42

https://m.blog.naver.com/qjawnswkd/222307979571

https://velog.io/@boo105/MSA-EUREKA-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0

https://devhan.tistory.com/m/260

https://substantial-park-a17.notion.site/6-Eureka-057c942a7a4041bf87ab5cd3043af021

 

728x90
๋ฐ˜์‘ํ˜•