๐ Java & Kotlin & Spring/- spring framework +43 [Distributed Tracing] Messaging ํ๊ฒฝ์์์ ๋ถ์ฐ ์ถ์ ์ค์ต ๋ณธ ๊ธ์ ๋ง์ดํฌ๋ก์๋น์ค์ ๋ถ์ฐ ์ถ์ ์๋ฆฌ์ฆ๋ก ์ด๋ก ๊ณผ ์ค์ต์ด ํจ๊ป ํฌํจ๋ ์๋ฆฌ์ฆ์ ๋๋ค. ์๋ ๋ชฉ์ฐจ์ ํ์๋ ๊ธ์ ๋ชจ๋ ์ฐธ๊ณ ํ๋ฉด ์ข์ต๋๋ค. ๋ชฉ์ฐจ Distributed Tracing, ๋ถ์ฐ ์ถ์ ์ด๋? Spring Cloud Sleuth ์ Zipkin Sleuth ๋ก Http ํ๊ฒฝ์ ๋ถ์ฐ ์ถ์ ์ค์ต Sleuth ๋ก Messaging ํ๊ฒฝ์ ๋ถ์ฐ ์ถ์ ์ค์ต ์ค์ต์ ๋ํ ์์ค์ฝ๋๋ฅผ ํ์ธํ์๊ณ ์ถ๋ค๋ฉด ์ค์ต github์์ ํ์ธํ์ค ์ ์์ต๋๋ค. Messaging ํ๊ฒฝ ์์์ ๋ถ์ฐ ์ถ์ ์ค์ต ์ง๋ ์๊ฐ ์ฐ๋ฆฌ๋ HTTP ํ๊ฒฝ์์์ ๋ถ์ฐ ์ถ์ ์ ๋ํด์ ์์๋ณด์๋ค. ๋ค์ ํ๋ฒ ๊ฐ๋ต์ ์ธ ์ํคํ ์ฒ์ ๋ํด์ ํ์ธํด๋ณด์ ์ ์ํคํ ์ฒ๋ฅผ ๊ตฌ๋ถํ์๋ฉด 2๊ฐ์ ๋ถ๋ถ์ผ๋ก ๋๋ ์ ์๋ค. HTTP API Messaging ์ด๋ฒ์๋ HTTP.. 2022. 5. 1. [Distributed Tracing] HTTP ํ๊ฒฝ์์์ ๋ถ์ฐ ์ถ์ ์ค์ตํ๊ธฐ ๋ณธ ๊ธ์ ๋ง์ดํฌ๋ก์๋น์ค์ ๋ถ์ฐ ์ถ์ ์๋ฆฌ์ฆ๋ก ์ด๋ก ๊ณผ ์ค์ต์ด ํจ๊ป ํฌํจ๋ ์๋ฆฌ์ฆ์ ๋๋ค. ์๋ ๋ชฉ์ฐจ์ ํ์๋ ๊ธ์ ๋ชจ๋ ์ฐธ๊ณ ํ๋ฉด ์ข์ต๋๋ค. ๋ชฉ์ฐจ Distributed Tracing, ๋ถ์ฐ ์ถ์ ์ด๋? Spring Cloud Sleuth ์ Zipkin Sleuth ๋ก Http ํ๊ฒฝ์ ๋ถ์ฐ ์ถ์ ์ค์ต Sleuth ๋ก Messaging ํ๊ฒฝ์ ๋ถ์ฐ ์ถ์ ์ค์ต ์ค์ต์ ๋ํ ์์ค์ฝ๋๋ฅผ ํ์ธํ์๊ณ ์ถ๋ค๋ฉด ์ค์ต github์์ ํ์ธํ์ค ์ ์์ต๋๋ค. Spring Cloud Sleuth ๋ฅผ ์ด์ฉํ HTTP ํ๊ฒฝ์ ๋ถ์ฐ ์ถ์ ์ด๋ฒ์ ์ง๋ ์๊ฐ์ ์์๋ณด์๋ ๋ถ์ฐ ์ถ์ ์ ๋ํ ์ค์ต์ ์งํํด๋ณด๋ ค ํ๋ค. ์ฐ์ ๊ฐ๋ต์ ์ธ ์ํคํ ์ฒ๋ ๋ค์๊ณผ ๊ฐ๋ค ์ ์ํคํ ์ฒ๋ฅผ ๊ตฌ๋ถํ์๋ฉด 2๊ฐ์ ๋ถ๋ถ์ผ๋ก ๋๋ ์ ์๋ค. HTTP API Messaging.. 2022. 5. 1. [Spring Boot] CORS ๋ฅผ ํด๊ฒฐํ๋ 3๊ฐ์ง ๋ฐฉ๋ฒ (Filter, @CrossOrigin, WebMvcConfigurer) Server Side Template ๋ฐฉ์์ด ์๋ Front์ Back ์ผ๋ก ๋๋ ์ ์ธํ๋ผ๋ฅผ ๊ตฌ์ฑํด๋ณธ ๊ฒฝํ์ด ์๋ ์ฌ๋๋ค์๊ฒ๋ Cors๊ฐ ๋งค์ฐ ์น์ํ ์ ์๋ค. ํ์ฌ ๊ฐ๋ฐ ํ๋ฆ์์ ์น ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค๊ฐ Cors ๋ฅผ ๋ง๋ ํ๋ฅ ์ ๊ฐํ 100% ๋ผ๊ณ ํด๋ ๊ณผ์ธ์ด ์๋๋ค. ์ค๋์ CORS ๊ฐ ๋ฌด์์ธ์ง ์์๋ณด๋ฉฐ ๋, Spring Boot Application ์์๋ ์ด๋ป๊ฒ ํด๋น ์ ์ฑ ์ ํด๊ฒฐํ ์ ์๋์ง ์์๋ณด์. CORS ํด๊ฒฐํ๊ธฐ ์ฐ์ ๊ฐ์ฅ ๋จผ์ ๋ง ํ๊ณ ์ถ์ ๊ฒ์ CORS ๋ ์๋ฌ๋ ์ค๋ฅ๊ฐ ์๋๋ค. Cross-Origin Resource Sharing Policy ์ด๋ค. ์ฒ์ ๋ด๊ฐ Front ์ Back ์ ๋๋ ์ ๊ฐ๋ฐ์ ํ ๋์๋ ๋จ์ํ Front ์์ fetch ์์ฒญ์ผ๋ก Back ์ ๋ฐ๋ผ๋ณด๊ณ ๋ ๋ฆฌ๋ฉด ๋ .. 2021. 8. 14. [Spring Cloud] Spring Cloud Bus์ RabbitMQ ๋ฅผ ์ด์ฉํ Config ์ ๋ณด ๋ฐ์ํ๊ธฐ ํด๋น ๊ธ์ Spring Cloud Config ์์ ๋ณ๊ฒฝ๋ ์ ๋ณด๋ฅผ ๋ง์ดํฌ๋ก์๋น์ค ์ธ์คํด์ค์์ Spring Boot Actuator ๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ํ๊ธฐ์ ์์กดํ๋ ๊ธ์ ๋๋ค. ์ค์ต ํ๊ฒฝ์ ๋ฐ๋ผํ์๋ ค๋ฉด ์ด์ ๊ธ์ ๋์จ ์ค์ต์ ๋ฐ๋ผํ์๊ธธ ๊ถ๊ณ ๋๋ฆฝ๋๋ค. ๋ชฉ์ฐจ ์ง๋ ์๊ฐ์ ์ค์ ์ ๋ณด ๋ฐ์ ๋ฐฉ๋ฒ Spring Boot Actuator ๋ฅผ ์ด์ฉํ ์ค์ ์ ๋ณด ๋ฐ์ Spring Cloud Bus๋? RabbitMQ๋? Spring Cloud Bus ์ค์ตํ๊ธฐ RabbitMQ ๋ฑ๋ก Config, Gateway, User Cloud Bus ๋ฑ๋ก ์ง๋ ์๊ฐ์ ์ค์ ์ ๋ณด ๋ฐ์ ๋ฐฉ๋ฒ ์ง๋ ์๊ฐ ์ฐ๋ฆฌ๋ ์ค์ ์ ๋ณด๋ฅผ ์ธ๋ถ Repository ๋ก ๋ถ๋ฆฌํ๊ณ , ๊ฐ๊ฐ์ ๋ง์ดํฌ๋ก์๋น์ค๋ค์ด ํด๋น ์ค์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ๊ฐ๋ ์ค์ต์ ์ํด์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ.. 2021. 5. 20. Spring Cloud Config ์์ ๋ณ๊ฒฝ๋ ์ ๋ณด๋ฅผ ๋ง์ดํฌ๋ก์๋น์ค ์ธ์คํด์ค์์ Spring Boot Actuator ๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ํ๊ธฐ ํด๋น ๊ธ์ Spring Cloud Config์ name, profiles ๊ทธ๋ฆฌ๊ณ Github ๋ฅผ ์ฐ๋ํด์ ์ค์ ํ์ผ ๊ด๋ฆฌํ๊ธฐ์ ์์กดํ๋ ๊ธ์ ๋๋ค. ์ค์ต ํ๊ฒฝ์ ๋ฐ๋ผํ์๋ ค๋ฉด ์ด์ ๊ธ์ ๋์จ ์ค์ต์ ๋ฐ๋ผํ์๊ธธ ๊ถ๊ณ ๋๋ฆฝ๋๋ค. ๋ชฉ์ฐจ ์ค์ ์ ๋ณด๋ฅผ ๋ฐ์ํ๋ ์ด์ Spring Boot Actuator๋? Spring Boot Actuator ์ ๊ธฐ๋ฅ๊ณผ Endpoints Config Refresh Spring Boot Actuator ๋ฅผ ์ด์ฉํด์ ๋ณ๊ฒฝ ์ ๋ณด ๊ฐฑ์ ํ๊ธฐ User-Service์ Actuator ์์กด์ฑ ์ถ๊ฐํ๊ธฐ refresh Endpoints ํ์ฑํ ์๊ฒฉ ์ ์ฅ์์ ์๋ yml ์ค์ ์ ๋ณด ๋ณ๊ฒฝํ๊ธฐ refresh ํ๊ธฐ ์ค์ ์ ๋ณด๋ฅผ ๋ฐ์ํ๋ ์ด์ ์ง๊ธ๊น์ง Spring Cloud Config ์ ๋ง์ ๊ธฐ๋ฅ๋ค์ ์.. 2021. 4. 28. Spring Cloud Config ์์ ๋์นญํค๋ฅผ ์ด์ฉํ application.yml ์ ๋ฏผ๊ฐ ์ ๋ณด ์ํธํ ํ๊ธฐ ํด๋น ๊ธ์ Spring Cloud Config์ name, profiles ๊ทธ๋ฆฌ๊ณ Github ๋ฅผ ์ฐ๋ํด์ ์ค์ ํ์ผ ๊ด๋ฆฌํ๊ธฐ์ ์์กดํ๋ ๊ธ์ ๋๋ค. ์ค์ต ํ๊ฒฝ์ ๋ฐ๋ผํ์๋ ค๋ฉด ์ด์ ๊ธ์ ๋์จ ์ค์ต์ ๋ฐ๋ผํ์๊ธธ ๊ถ๊ณ ๋๋ฆฝ๋๋ค. ๋ชฉ์ฐจ ๊ธฐ์กด Config Server์ ๋ฌธ์ ์ ์ํธํ๋ฅผ ํ์ง ์์ ์ ๋ณด์ ํ์ทจ ๊ฐ๋ฅ์ฑ ์ํธํ ์ข ๋ฅ ๋์นญํค ๋น๋์นญํค Spring Cloud Config ์ encrypt, decrypt encrypt decrypt ์ค์ตํ๊ธฐ ๋์นญํค ์ด์ฉํ๊ธฐ ๊ธฐ์กด Config Server์ ๋ฌธ์ ์ ์ง๋ ์๊ฐ ์ฐ๋ฆฌ๋ github๋ฅผ ์ด์ฉํด์ ์๊ฒฉ ์ ์ฅ์์ ์ค์ ํ์ผ๋ค์ ์ ์ฅํด๋๊ณ Config ์๋ฒ์์ ๊ฐ์ ธ๋ค๊ฐ ๋ค๋ฅธ ๋ง์ดํฌ๋ก์๋น์ค๋ก ๋ฟ๋ ค์ฃผ๋ ๊ณผ์ ์ ์์๋ณด๊ณ ์ด๋ฅผ ๊ตฌํํ์์๋ค. ์ฐ๋ฆฌ์ ์๊ฒฉ ๋ ํฌ์งํ ๋ฆฌ๋ก ๋ค์ ๋ค์ด๊ฐ๋ณด.. 2021. 4. 27. ์ด์ 1 2 3 4 5 ยทยทยท 8 ๋ค์