๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’Š Java & Kotlin & Spring/- Spring Cloud13

[Spring Cloud Config] Application์˜ ์„ค์ • ์ •๋ณด (application.yml) ๋ฅผ ์ค‘์•™์—์„œ ๊ด€๋ฆฌํ•˜๊ธฐ (by native repository) ํ•ด๋‹น ๊ธ€์€ Spring Cloud Netflix Eureka ์™€ Spring Cloud Gateway ์˜ Built-in Route๋กœ Predicates์™€ Filter ์กฐ์ž‘ํ•˜๊ธฐ)์— ์˜์กดํ•˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. ์‹ค์Šต ํ™˜๊ฒฝ์„ ๋”ฐ๋ผํ•˜์‹œ๋ ค๋ฉด Eureka์™€ Gateway ๊ธ€์— ๋‚˜์˜จ ์‹ค์Šต์„ ๋”ฐ๋ผํ•˜์‹œ๊ธธ ๊ถŒ๊ณ ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋ชฉ์ฐจ Gartner ์—์„œ ์ •์˜๋œ MSA ํ‘œ์ค€ ๊ตฌ์„ฑ ์š”์†Œ์ธ Config Store Server ์ž์ฃผ ๋ณ€๊ฒฝ๋˜๋Š” ์„ค์ • ์ •๋ณด๋Š” ์„ค์ • ์ •๋ณด๋งŒ ๋‹ด๊ณ  ์žˆ๋Š” ์„œ๋ฒ„์—์„œ ๊ด€๋ฆฌํ•˜๊ณ  ์ด๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ์„œ๋ฒ„์—๊ฒŒ ๊ฐ๊ฐ ๋ฟŒ๋ ค์ฃผ๋Š” ๋ฐฉ์‹ ์šฐ๋ฆฌ๊ฐ€ ๊ตฌ์„ฑํ•œ ์„œ๋น„์Šค ๊ตฌ์กฐ ๊ฐ๊ฐ์˜ application.yml ์„œ๋น„์Šค ๊ตฌ์กฐ์˜ ๋ฌธ์ œ์  Spring Cloud Config ๋ž€? ์‹ค์Šต Spring Cloud Config ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ธฐ @EnableConfig.. 2021. 4. 27.
[Spring Cloud Gateway] Custom Filter ๋กœ ๊ฐ„๋‹จํ•œ Authentiction ํ•„ํ„ฐ ๋งŒ๋“ค๊ณ  ์ธ์ฆ ์ฒ˜๋ฆฌํ•˜๊ธฐ ํ•ด๋‹น ๊ธ€์€ Spring Cloud Gateway ์˜ Built-in Route๋กœ Predicates์™€ Filter ์กฐ์ž‘ํ•˜๊ธฐ) ์— ์˜์กดํ•˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. ์‹ค์Šต ํ™˜๊ฒฝ์„ ๋”ฐ๋ผํ•˜์‹œ๋ ค๋ฉด ์ด์ „ ๊ธ€์„ ํ™•์ธํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ธ€์—์„œ๋Š” ๋ชจ๋“  ์ธ์ฆ ๊ณผ์ • (jwt ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•˜๊ณ  payload ์— ๊ฐ’์„ ๋„ฃ๋Š” ์‹ค์ œ ๊ตฌํ˜„)์€ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์˜ ๋ชฉ์ ์€ Gateway ์—์„œ Custom Filter ๋งŒ๋“ค์–ด์„œ ํ† ํฐ ๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ „์ฒด์ ์ธ ํฐ ๊ทธ๋ฆผ๋งŒ ๋ณด์—ฌ์ฃผ๋ ค ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ ์ธ์ฆ์„ ๊ตฌํ˜„ํ•˜๋ ค ํ•œ๋‹ค๋ฉด ์ฐธ๊ณ ๋งŒ ํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋ชฉ์ฐจ Custom Filter AbstractGatewayFilterFactory ์ƒ์†๊ณผ apply ์žฌ์ •์˜ ๊ฒ€์ฆํ•˜๊ธฐ Custom Filter ์ง€๋‚œ ์‹œ๊ฐ„๊นŒ์ง€ ์šฐ๋ฆฌ๋Š” Spring Cloud Gateway๊ฐ€ ๊ธฐ.. 2021. 4. 25.
Spring Cloud Gateway ์—์„œ Built-in Route๋กœ Predicates์™€ Filter ์กฐ์ž‘ํ•˜๊ธฐ ํ•ด๋‹น ๊ธ€์€ SGC๋ฅผ ์ด์šฉํ•ด API Gateway๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  Eureka Server ๋ฅผ ์ด์šฉํ•ด Load Balancing ํ•˜๊ธฐ) ์— ์˜์กดํ•˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. ์‹ค์Šต ํ™˜๊ฒฝ์„ ๋”ฐ๋ผํ•˜์‹œ๋ ค๋ฉด ์ด์ „ ๊ธ€์„ ํ™•์ธํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋ชฉ์ฐจ Spring Cloud Gateway Routes, Predicates, Filters Route Predicates Built-in Factories ์‚ฌ์šฉํ•˜๊ธฐ After Cookie Method Path Route Filters AddRequestHeader, AddResponseHeader AddRequestParameter RewritePath Spring Cloud Gateway ์—์„œ๋Š” Predicates์™€ Filter๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ application.yml ์„ ์ด์šฉํ•œ short.. 2021. 4. 24.
Spring Cloud Gateway ๋ฅผ ์ด์šฉํ•ด API Gateway๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์‹ค์Šตํ•ด๋ณด์ž (Eureka Server ๋ฅผ ์ด์šฉํ•ด Load Balancing ํ•˜๊ธฐ) ํ•ด๋‹น ๊ธ€์€ Spring Cloud Netflix Eureka์— ์˜์กดํ•˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. ์‹ค์Šต ํ™˜๊ฒฝ์„ ๋”ฐ๋ผํ•˜์‹œ๋ ค๋ฉด Eureka ๊ธ€์„ ํ™•์ธํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋ชฉ์ฐจ Gateway Pattern Gateway๊ฐ€ ๋„์ž…๋˜๋ฉด? Spring Cloud Gateway Gateway๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ• Gateway ๋‚ด๋ถ€ ๊ตฌ์กฐ ์‹ค์Šตํ•˜๊ธฐ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ธฐ ์˜์กด์„ฑ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์—ฐ๊ฒฐํ•˜๊ธฐ Eureka Server ์—์„œ ๊ฐ๊ฐ ์ธ์Šคํ„ด์Šค ์ •๋ณด๋ฅผ ๋ฐ›์•„ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ํ•˜๊ธฐ Gateway Pattern Microservice ์—์„œ Gateway ํŒจํ„ด์€ ๊ฐ€์žฅ ํ”ํ•˜๊ณ  ์œ ์šฉํ•˜๊ฒŒ ์“ฐ๋Š” ํŒจํ„ด ์ค‘ ํ•˜๋‚˜์ด๋‹ค. Spring Cloud์™€ ๋ณ„๊ฐœ๋กœ Gateway ํŒจํ„ด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์‚ฌํ•ญ์€ MSA์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ - API Gateway ํŒจํ„ด ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. .. 2021. 4. 24.