Server๐Ÿงค/SpringCloud

Server๐Ÿงค/SpringCloud

[SpringCloud] API Gateway Service

API Gateway Service ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ ์„œ๋น„์Šค ๊ฒ€์ƒ‰ ํ†ตํ•ฉ ์‘๋‹ต ์บ์‹ฑ ์ •์ฑ…, ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ ๋ฐ Qos ์†๋„ ์ œํ•œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ ๋กœ๊น…, ์ถ”์ , ์ƒ๊ด€๊ด€๊ณ„ ํ—ค๋”, ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด ๋ฐ ์ฒญ๊ตฌ ๋ณ€ํ™˜ IP ํ—ˆ์šฉ ๋ชฉ๋ก์— ์ถ”๊ฐ€ SpringCloud์—์„œ์˜ MSA๊ฐ„ ํ†ต์‹  RestTemplate RestTemplate restTemplate = new RestTemplate(); restTemplate.getForObject("http://localhost:8080/", User.class, 200); Feign Client FeignClient๋ผ๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์ด๋ฆ„๊ฐ€์ง€๊ณ  ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•จ. @FeignClient("stores") public interface StoreClient { @RequestMapping(met..

Server๐Ÿงค/SpringCloud

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

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 Applicati..

Server๐Ÿงค/SpringCloud

[MSA] MicroService์™€ SpringCloud์˜ ์†Œ๊ฐœ

ํŠน์ง• ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์•„ํ‚คํ…์ฒ˜ ์‹œ์Šคํ…œ์˜ ์ˆ˜ํ‰์  ํ™•์ •์— ์œ ์—ฐ ํ™•์žฅ๋œ ์„œ๋ฒ„๋กœ ์‹œ์Šคํ…œ์˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ, ๊ฐ€์šฉ์„ฑ ๋ณด์žฅ ์‹œ์Šคํ…œ ๋˜๋Š”, ์„œ๋น„์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‹จ์œ„์˜ ํŒจํ‚ค์ง€(์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ํŒจํ‚ค์ง€) ํƒ„๋ ฅ์  ์•„ํ‚คํ…์ฒ˜ ์„œ๋น„์Šค ์ƒ์„ฑ - ํ†ตํ•ฉ - ๋ฐฐํฌ, ๋น„์ฆˆ๋‹ˆ์Šค ํ™˜๊ฒฝ ๋ณ€ํ™”์— ๋Œ€์‘ ์‹œ๊ฐ„ ๋‹จ์ถ• ๋ถ„ํ• ๋œ ์„œ๋น„์Šค ๊ตฌ์กฐ ๋ฌด์ƒํƒœ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ ์žฅ์•  ๊ฒฉ๋ฆฌ ํŠน์ • ์„œ๋น„์Šค์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ด๋„ ๋‹ค๋ฅธ ์„œ๋น„์Šค์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Œ CI/CD ์ง€์†์ ์ธ ํ†ตํ•ฉ CI ํ†ตํ•ฉ ์„œ๋ฒ„, ์†Œ์Šค ๊ด€๋ฆฌ, ๋นŒ๋“œ ๋„๊ตฌ, ํ…Œ์ŠคํŠธ ๋„๊ตฌ ์ง€์†์  ๋ฐฐํฌ Continuous Delivery Continuous Deployment Pipe line DEVOPS ๋ฐฐํฌ ์šด์˜ QA์˜ ๊ต์ง‘ํ•ฉ ์ง€์†์ ์œผ๋กœ ๋Š์ž„์—†์ด ์ง€์†๋ฐฐํฌ์šด์˜ํ•ด๋‚˜๊ฐ€๋Š” ๊ฒƒ! ์„œ๋น„์Šค ๋‹จ์œ„๋ฅผ ์ž‘์€ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ”์œผ๋กœ์จ, ๋” ์ž์ฃผ ๋ฐฐํฌ ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ..

yujindonut
'Server๐Ÿงค/SpringCloud' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก