๐ Java & Kotlin & Spring53 [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 Boot] ํฐ๋ฏธ๋์์ ๋น๋ ํด (Maven, Gradle)๋ก Spring Boot ์คํ์ํค๊ธฐ ์ค๋์ ํฐ๋ฏธ๋์์ Springboot Application ์ ์คํ์ํค๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด๋ ค ํ๋ค. ํ์ฌ Microservice Application ์ ๊ฐ๋ฐํ๊ธฐ ์ํด์ ์ฃผ๋ก Eureka์ Gateway ๋ฅผ ํจ๊ป ๋์์ํค๋ ์ผ์ด ๋ง์์ก๋ค. Service Discovery ์ญํ ์ ์ํํ๋ Eureka ์๋ฒ๋ ๋จ์ง ์๋น์ค์ Registry์ Discovery ์ํฉ์์ ์ผ๋๊ณ ๋ง ์์ด์ผ ํ๋ ์ํฉ์ด ์์ฃผ ๋ฐ์ํ๋๋ฐ, ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ์ํด์๋ Eureka ์๋ฒ์ Gateway ๋ฅผ Intellij ์์ ์ผ๋๋ ๊ฒ์ด ๋๋ค์์ด๋ค. ํ์ง๋ง Intellij ๋ ๋ค์ํ ๊ธฐ๋ฅ์ ๊ฐ๊ณ ์๋ ์กฐ๊ธ ๋ฌด๊ฑฐ์ด IDE ์ด๊ธฐ ๋๋ฌธ์ ํด๋น PC์ ๋ฆฌ์์ค๋ฅผ ๋ง์ด ๋จน์ด ๋ถํธํ ์ํฉ์ด ์ด๋ง์ ๋ง์ด ์๋๋ค. ๊ทธ๋ด ๋ ๋ง์ ํด๊ฒฐ ๋ฐฉ.. 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. [Spring Cloud] Service Discover Server๋ก Netflix Eureka ์ด์ฉํ๊ธฐ Spring Cloud Netflix ์คํ๋ง ํด๋ผ์ฐ๋ ๋ทํ๋ฆญ์ค๋ Spring Boot Application ์ ๋ํ ํตํฉ ํ๊ฒฝ ๊ตฌ์ฑ์ ์ง์ํ๋ Netflix์ OSS ์๋น์ค์ด๋ค. Netflix๋ 2007๋ ์ฌ๊ฐํ DB์์์ผ๋ก 3์ผ๊ฐ ์๋น์ค ์ฅ์ ๋ฅผ ๊ฒผ์๋๋ฐ, ์ด์ ์ด์์ง๋ค๊ณผ ๊ธฐ์ ๋ฆฌ๋๋ค์ ์ ๋ขฐ์ฑ ๋๊ณ ์ํํ์ฅ์ด ๊ฐ๋ฅํ Cloud System์ผ๋ก ์ด์ ์ ํด์ผ ํจ์ ๋๊ผ์๋ค๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฒฐ๊ตญ MSA๋ฅผ 7๋ ๋ง์ ์๋ฒฝํ๊ฒ ์ด์ ํ๊ฒ ๋์๋๋ฐ, ์ด ๋ ์์ ๊ฒฝํ์น๋ฅผ ๋ฐํ์ผ๋ก MSA ๊ธฐ์ ์ Spring์๊ฒ ์คํ์์ค๋ก ํ๊ฒ ๋์๋ค. Netflix OSS ์ Spring Cloud Netflix Netflix OSS ์๋ ๋ค์ํ ์๋น์ค๋ค์ด ์กด์ฌํ๋ค. Eureka : Discovery Server ๊ฐ๊ฐ์ ์๋น์ค ์ธ์คํด์ค.. 2021. 4. 24. [Spring Boot] JUnit5 BDDMockito๋ก ์์๋ณด๋ TDD์ BDD ์ ์ฐจ์ด ๋ฐ BDD ์ค์ต ๋ชฉ์ฐจ TDD ๋? TDD ๋? TDD ์์ BDD ๋? BDD ๋? BDD ์์ TDD vs BDD TDD์ BDD์ ํ ํ ์์ฝ BDDMockito๋ฅผ ์ด์ฉํ BDD ์ค์ต ํ๊ฒฝ ๊ตฌ์ฑ Mockito vs BDD Mockito Stubbing given any() anyString() anyLong() willReturn() will() willThrow() ๋ณธ ์ฃผ์ ๋ฅผ ํ์ตํ๊ธฐ ์ํด์๋ Java์ JUnit5์ BDDMockito ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์กด์ฑ์ด ํ์ํฉ๋๋ค. ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๋ฉด์ ์ง๊ธ๊น์ง ๋๋ ๊ฐ์ฅ ํฐ ๋ณํ๊ฐ ๋์๊ฒ๋ TDD๊ฐ ์๋๊น ์ถ๋ค. ์ฐ์ฐํ ๊ธฐํ์ TDD๋ฅผ ์ค์ค๋ก ๋์ ํ์์ ๋, ๋ด๊ฐ ๋ค์๋ ์ฒซ ์๊ฐ์ ๋๋ฌด ๊ท์ฐฎ์๋ฐ,... ์ด๋ ๊ฒ ํ๋ค๊ฐ ์ธ์ ๋๋ด์ง...? ์ด๊ฑฐ ๊ทธ๋ฅ ํ ์คํธ ์ ์ง๊ณ ๋ฐ๋ก ํ .. 2021. 4. 22. ์ด์ 1 2 3 4 5 6 7 ยทยทยท 9 ๋ค์