Memo/22๋…„ TIL

0301 TIL (์˜ค๋Š˜ ํ•˜๋ฃจ ์ •๋ฆฌ)

skyey94 2022. 3. 2. 02:19

| 0301

๐Ÿ“‘ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ

 

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”ํ…Œ ํ’€์ด
    • ํ”„๋ฆฐํ„ฐ ๋ฌธ์ œ ํ’€์ด ์ž‘์„ฑ
  • ์ž์†Œ์„œ ์ž‘์„ฑ
  • ์ธํ”„๋Ÿฐ MSA ๊ฐ•์˜ ์ˆ˜๊ฐ•
    • ์ธ์ฆ๊ณผ ์ธ๊ฐ€ ๋ถ€๋ถ„ ์ž‘์„ฑ
    • Spring Cloud Gateway - Routes ์ •๋ณด ์ž‘์„ฑ
    • ํ•„ํ„ฐ ์ถ”๊ฐ€
    • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    • JWT ์ƒ์„ฑ ์ฝ”๋“œ ์ถ”๊ฐ€
          filters:
            - RemoveRequestHeader=Cookie
            - RewritePath=/user-service/(?<segment>.*), /$\{segment}
  • ๊ฐ•์˜ ๋“ค์œผ๋ฉด์„œ ์ง„ํ–‰ํ•˜๋Š”๋ฐ, ์•„.. ๊ฐ•์˜์ฒ˜๋Ÿผ ์ง„ํ–‰์ด ๋˜์ง€ ์•Š์•„ ๋„ˆ๋ฌด ๋งŽ์ด ํ—ค๋งจ ๊ฒƒ ๊ฐ™๋‹ค... ์ •๋ฆฌํ•˜์ž๋ฉด, 
    • ์ฒซ๋ฒˆ์งธ๋Š” ๋ฒ„์ „ ์ด์Šˆ
      • ์ตœ์‹  ๋ฒ„์ „์„ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ ๊ฐ•์˜์ฒ˜๋Ÿผ ์ง„ํ–‰์ด ๋˜์ง€ ์•Š๊ณ , uri๊ฐ€ ์ธ์‹์ด ์•ˆ๋˜๋Š” ์ƒํ™ฉ์ด ๊ณ„์† ๋ฐœ์ƒํ–ˆ๋‹ค.
        • Spring Boot version 2.6.x -> 2.5.x ๋ฒ„์ „์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ
        • Spring Cloud version 2021.0.x -> 2020.0.x ๋ฒ„์ „์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ
        • ์ด๋ ‡๊ฒŒ ํ•ด๊ฒฐ
      • ์ธ์ฆ ๋ฐ ์ธ๊ฐ€ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์˜€๋Š”๋ฐ ๋“ฑ๋ก๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ˜ธ์ถœํ•˜์—ฌ ์ ‘์†ํ•  ๋•Œ ํ—ˆ์šฉํ•œ IP๋กœ ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๋Š” ์ƒํ™ฉ ๋ฐœ์ƒ
        • ๊ด€๋ จ ๊ฐœ๋… ์ถ”๊ฐ€ ๋ฐ ์„ค๋ช…
        • "192.168.0.3"๋กœ hasIpAddress()๋ฅผ ์„ค์ •ํ•˜์˜€์œผ๋ฉด, ํ•ด๋‹น IP์—์„œ๋งŒ /health-check์„ ํ—ˆ์šฉํ•ด ์ฃผ๋Š” ๊ฒƒ์ด๊ณ , (localhost)127.0.0.1์œผ๋กœ ์ ‘๊ทผํ•˜๊ฒŒ ๋˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด ์ •์ƒ.
        • ๋‹ค๋งŒ, API gateway-service์—์„œ๋Š” ์š”์ฒญ๋œ /user-service/์˜ URI๋ฅผ ํŒŒ์•…ํ•˜์—ฌ user-service ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์š”์ฒญ์„ ๋„˜๊ฒจ์ฃผ๊ณ  ์žˆ๋‹ค.
        • ์ด๋•Œ, eureka์— ๋“ฑ๋ก๋œ USER-SERVICE๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ฐพ์•„์„œ ์ด๋™์‹œ์ผœ์ฃผ๊ฒŒ ๋œ๋‹ค.
        • eureka์—์„œ USER-SERVICE๋ผ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ํ˜ธ์ถœํ• ๋•Œ๋Š” 127.0.0.1์ด ์•„๋‹Œ, apigateway-service๊ฐ€ ๋“ฑ๋ก๋œ IP(์˜ˆ๋ฅผ ๋“ค์–ด, 192.168.0.7)๋กœ ๋ฐ›์€ ๊ฒƒ์ฒ˜๋Ÿผ ๋œ๋‹ค.
        • (์ถ”๊ฐ€)
          server:
            address: 192.168.0.3
          
          eureka:
            instance:
                prefer-ip-address: true
                ip-address: ${server.address}
                
          # ์œ„ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐ ์ดํ›„์˜ ํ…Œ์ŠคํŠธ์˜ ํŽธ๋ฆฌ์„ฑ์„ ์œ„ํ•ด ์ ‘๊ทผํ•˜๋Š” IP ์ˆ˜์ •

๐Ÿ“– ํ•˜๋ฃจ ์ •๋ฆฌ

  •  ์—๋Ÿฌ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ๋ช‡ ์‹œ๊ฐ„์€ ์“ด ๊ฒƒ ๊ฐ™์€๋ฐ... ํ•ด๊ฒฐํ•˜๊ณ  ๋‚˜๋‹ˆ ๊ทธ๋ž˜๋„ ๋‹คํ–‰์ธ๊ฒƒ ๊ฐ™๋‹ค.. ์ดํ›„ ๊ฐ•์˜ ์ง„ํ–‰ํ•˜๋Š”๋ฐ ์ด ๋ถ€๋ถ„์ด ์•ˆ๋˜๊ฐ€์ง€๊ณ  ๊ณ„์† ๊ณ ๋ฏผํ–ˆ๋„ค..
  • ์–ผ๋ฅธ MSA ๊ฐ•์˜ ๋๋‚ด๊ณ  ํ•œ๋ฐ”ํ€ด ๋” ๋Œ๋ฆฌ๊ณ , ๋‹ค๋ฅธ ๋ถ€๋ถ„๋„ ๋ณต์Šตํ•ด์•ผ์ง€