Server๐Ÿงค/SpringCloud

[MSA] - ์„น์…˜1. Service Discovery

yujindonut 2023. 9. 20. 12:09
728x90

Spring Cloud Netflix Eureka

  • ์—ฌ๋Ÿฌ ์„œ๋ฒ„๋ฅผ ๋„์šฐ๊ธฐ ์œ„ํ•ด ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ๊ฐ์ž ๋‹ค๋ฅธ ํฌํŠธ ๋ฒˆํ˜ธ๋กœ ์‹คํ–‰ํ•จ
  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์„œ๋ฒ„๋ฅผ Service Discovery์— ๋“ฑ๋ก
    • key value ๊ฐ’์œผ๋กœ ์–ด๋–ค ์„œ๋ฒ„๊ฐ€ ์–ด๋””์— ์œ„์น˜ํ•ด ์žˆ๋Š”์ง€ ์ €์žฅํ•ด๋‘”๋‹ค
  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ์š”์ฒญ ์ •๋ณด์— ๋”ฐ๋ผ์„œ ํ•„์š”ํ•œ ์„œ๋น„์Šค์˜ ์œ„์น˜๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ์—ญํ• 

Gradle๋กœ ํ”„๋กœ์ ํŠธ ํ•„๋“œ

./gradlew build && java -jar build/libs/user-service-0.0.1-SNAPSHOT.jar

 

User-Service : Load Balancer

  • ์ธ์Šคํ„ด์Šค๋งˆ๋‹ค ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ์ง€์ •ํ•ด์ฃผ๊ธฐ์— ํ•œ๊ณ„๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๋žœ๋ค ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๋žœ๋คํฌํŠธ๋กœ ์—ฌ๋Ÿฌ ์ธ์Šคํ„ด์Šค๋ฅผ ๋„์šฐ๋ฉด ํฌํŠธ ๋ฒˆํ˜ธ๋Š” ๊ฐ๊ฐ ์—ฌ๋Ÿฌ๊ฐœ๊ฐ€ ํ• ๋‹น๋จ
  • Eureka Application ํƒญ์—์„œ๋Š” ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๋งŒ ๊ตฌ๋™๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค. (์ค‘๋ณต๋œ ์ด๋ฆ„์œผ๋กœ ์ธ์ง€๋จ)
  • client-id๋ฅผ ๊ณ ์œ ํ•œ ์ด๋ฆ„์œผ๋กœ ์ง€์ •ํ•ด์ค€๋‹ค. (๋Œ€๋ฌธ์ž๋กœ application-name์ด ์ง€์ •๋จ)
server:
  port: 0
#  random ํ•œ ํฌํŠธ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค

spring:
  application:
    name: user-service

eureka:
  instance:
    instance-id: ${spring.cloud.client.hostname}:${spring.application.instance_id:${random.value}}
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://localhost:8761/eureka

 

gradle ๋ช…๋ น์–ด๋กœ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•˜์˜€์„๋•Œ์˜ ๋ชจ์Šต

 

728x90