โ“ ๋ฌธ์ œ ์ƒํ™ฉ

 

 

Spring Cloud Gateway Service๋กœ ์—ฐ๊ฒฐํ–ˆ์„ ๋•Œ ์—ฐ๊ฒฐ์ด localhost๋กœ ๋˜์—ˆ๋‹ค๊ฐ€ ์„œ๋น„์Šคํ•˜๊ณ  ์žˆ๋Š” host๋กœ ์—ฐ๊ฒฐ์ด ๋˜์—ˆ๋‹ค๊ฐ€ ํ–ˆ๋‹ค..

 

Eureka Service url๋กœ ๋“ค์–ด๊ฐ€์„œ Eureka์— ๋“ฑ๋ก๋œ ์•ฑ๊ณผ ์ธ์Šคํ„ด์Šค๋“ค์„ ํ™•์ธํ•˜๋‹ˆ ํ•œ ์•ฑ์— ์—ฌ๋Ÿฌ ์ธ์Šคํ„ด์Šค๋“ค์ด ๋“ฑ๋ก๋˜์–ด ์žˆ์—ˆ๋‹ค.

 

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋“ค์„ Eureka Discovery Service ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•œ์ฑ„๋กœ ์“ฐ๋‹ค๊ฐ€ ํ•œ ์„œ๋ฒ„์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ธ์Šคํ„ด์Šค๋“ค์ด ์ƒ์„ฑ๋˜์—ˆ๋‹ค. ์„œ๋น„์Šค๊ฐ€ ์ฃฝ์—ˆ์Œ์—๋„ DOWN์ด ๋˜์ง€ ์•Š์•˜๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ง์ ‘ ์ˆ˜๋™์œผ๋กœ ์ธ์Šคํ„ด์Šค๋ฅผ ๋‚ด๋ ค์•ผ ํ•˜๋Š”๋ฐ ์•„๋ฌด๋ฆฌ ๊ตฌ๊ธ€๋งํ•ด๋„ ๋‚ด๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๊ธฐ๊ฐ€ ์–ด๋ ค์› ๋‹ค.

 

 

 

 

 

 

 

 

 

๐Ÿ’ก ํ•ด๊ฒฐ

ChatGPT์—๊ฒŒ ๋ฌผ์–ด์™”๋‹ค!

 

 

 

 

SpringApplication.java

@SpringBootApplication
public class ApigatewayServiceApplication {

    public static void main(String[] args) {
        SpringApplication.run(ApigatewayServiceApplication.class, args);
    }

    @Autowired
    private EurekaClient eurekaClient;

    @PreDestroy
    public void unregister() {
        eurekaClient.shutdown();
    }

}

 

1. ๋‚ด๋ฆฌ๊ณ  ์‹ถ์€ ์ธ์Šคํ„ด์Šค์˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜  SpringApplication.java ๋ฐ‘์— EurekaClient๋ฅผ shutdown์‹œํ‚ค๋Š” ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

2. ์–ดํ”Œ๋ฆฌ์บ์ด์…˜์„ ์‹คํ–‰์‹œํ‚จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ข…๋ฃŒ์‹œํ‚จ๋‹ค.

 

๊ทธ๋Ÿฌ๋ฉด  ์•ฑ์ด ์ข…๋ฃŒ๋˜๊ธฐ ์ „์— EurekaClient๊ฐ€ ์ข…๋ฃŒ๊ฐ€ ๋œ๋‹ค. Eureka Service url๋กœ ๋“ค์–ด๊ฐ€๋ฉด ์—†์–ด์ง„ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

 

 

์ด๋ ‡๊ฒŒ ์ˆ˜๋™์œผ๋กœ ์ฃฝ์ผ ์ˆ˜๋„ ์žˆ์ง€๋งŒ... ์ˆ˜๋™์œผ๋กœ ์ž˜ ์•ˆ์ฃฝ๋Š” ์ธ์Šคํ„ด์Šค๋„ ์žˆ์—ˆ๋‹ค. DESKTOP-DOGVPUB ์ฒ˜๋Ÿผ ์ปดํ“จํ„ฐ์˜ ๊ธฐ๊ธฐ๋ช…์ด ์ž๋™์œผ๋กœ ๋ถ™์€ ์ธ์Šคํ„ด์Šค๋“ค์ด๋‹ค. ์ด ์ธ์Šคํ„ด์Šค๋Š” Window ํ™˜๊ฒฝ์—์„œ ๋กœ์ปฌ๋กœ ์–ดํ”Œ๋ฆฌ์บ์ด์…˜์€ ์‹คํ–‰์‹œํ‚ฌ ๋•Œ, Eureka instance์˜ hostname localhost ์„ค์ •ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด localhost๊ฐ€ ์•„๋‹ˆ๋ผ ์ปดํ“จํ„ฐ ๊ธฐ๊ธฐ๋ช…์ด ๋ถ™๊ฒŒ ๋œ๋‹ค.

 

 

 

 

application.yml์—์„œ instance์˜ hostname์„ ์„ค์ •ํ•ด์ฃผ๋„๋ก ํ•˜์ž. ๊ทธ๋ฆฌ๊ณ  ์–ดํ”Œ๋ฆฌ์บ์ด์…˜์ด ์ข…๋ฃŒ๋˜์—ˆ์„ ๋•Œ, Eureka์—์„œ๋„ instance๊ฐ€ ์ œ๊ฑฐ๋˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„œ heartbeat ์ฃผ๊ธฐ๋ฅผ ์งง๊ฒŒ ๋ฐ”๊ฟ”์คฌ๋‹ค.

 

 

 

application.yml

eureka:
  instance:
    hostname: #ํ˜ธ์ŠคํŠธ๋ช…
    lease-renewal-interval-in-seconds: 1
    lease-expiration-duration-in-seconds: 2

 

  • lease-renewal-interval-in-seconds : discovery์—๊ฒŒ 1์ดˆ๋งˆ๋‹ค heartbeat ์ „์†ก
  • lease-expiration-duration-in-seconds : discovery๊ฐ€ ๋งˆ์ง€๋ง‰ heartbeat์—์„œ 2์ดˆ ๊ธฐ๋‹ค๋ฆฐ ํ›„, ์„œ๋น„์Šค ๋“ฑ๋ก์„ ํ•ด์ œ์‹œํ‚ด

 

 

 

 

 

๐Ÿ“š ์ฐธ๊ณ  ์ž๋ฃŒ

 

์•ˆ๋…•ํ•˜์„ธ์š” user-service 4๊ฐœ ๋ชจ๋‘ ์ฃฝ์˜€๋Š”๋ฐ ๊ณ„์† Eureka์— ์‚ด์•„ ์žˆ๋‹ค๊ณ  ๋‚˜์™€์š” ใ…  - ์ธํ”„๋Ÿฐ | ์งˆ๋ฌธ & ๋‹ต

์—„์ฒญ๋‚œ ๋ช…๊ฐ•์˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ฐ•์‚ฌ๋‹˜^^์•„๋ž˜ ์–ด๋–ค ๋ถ„๊ป˜์„œ ์งˆ๋ฌธํ•˜์…จ๋Š”๋ฐ Eureka ์„œ๋น„์Šค์— USER-SERVICE ๋“ฑ๋กํ•˜๊ณ  ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด ์ •์ƒ ๋ฐ˜์˜๋˜๋Š”๋ฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฃฝ์˜€๊ณ  ์ผ์ •์‹œ๊ฐ„์„ ๊ธฐ๋‹ค๋ ธ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ 

www.inflearn.com

 

giraffe_