๐งถ Spring | Spring Boot/Spring Cloud & MSA
-
์จํ๋ ๋ฏธ์ค์ ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋ ์จํ๋ ๋ฏธ์ค(On-Premise) ํ์ํ ์์คํ ์ ๊ตฌ์ถํ๊ธฐ ์ํด์ ํ๋์จ์ด์ ์ํํธ์จ์ด๋ฅผ ๊ตฌ์ ํ์ฌ, ์์คํ ๊ตฌ์ฑ ์ํฉ์ ๋ง๊ฒ ์์ฒด์ ์ผ๋ก ํ๊ฒฝ์ ๊ตฌ์ฑํ๋ ๊ฒ ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋ ์ปดํจํ ๋ฆฌ์์ค๋ฅผ ์ธํฐ๋ท์ ํตํด ์๋น์ค๋ก ์ฌ์ฉํ ์ ์๋ ์ฃผ๋ฌธํ ์๋น์ค (= ํด๋ผ์ฐ๋ ์ปดํจํ ) On-premise์ ๋ฐ๋๋ง์ธ Off-Premise๋ผ๊ณ ๋ ํฉ๋๋ค. ๊ธฐ์ ์์ ์ง์ ๋ฆฌ์์ค๋ฅผ ์กฐ๋ฌํ๊ฑฐ๋ ๊ตฌ์ฑ, ๊ด๋ฆฌํ ํ์๊ฐ ์์ด ์ฌ์ฉํ ๋งํผ๋ง ๋น์ฉ์ ์ง๋ถ ๋ํ์ ์ธ ํ๋ซํผ์ผ๋ก๋ AWS , GCP ๋ฑ ์จํ๋ ๋ฏธ์ค vs ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋ ์ค์ ์ ์ผ๋ก ๋ด์ผํ ๊ฒ์ ๋น์ฉ์ ์ธ ์ธก๋ฉด ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ํฐ์ผํ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค๊ณ ํด๋ด ์๋ค. ํ์์๋ ์ฌ์ฉ์๊ฐ ๋ณ๋ก ์๋ค๊ฐ ์ธ๊ธฐ์๋ ์ฐ์์ธ์ ์ฝ์ํธ ์๋งค๊ฐ ์กํ์๋ค๋ฉด, ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๊ธฐ..
On-Premise์ Cloud์จํ๋ ๋ฏธ์ค์ ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋ ์จํ๋ ๋ฏธ์ค(On-Premise) ํ์ํ ์์คํ ์ ๊ตฌ์ถํ๊ธฐ ์ํด์ ํ๋์จ์ด์ ์ํํธ์จ์ด๋ฅผ ๊ตฌ์ ํ์ฌ, ์์คํ ๊ตฌ์ฑ ์ํฉ์ ๋ง๊ฒ ์์ฒด์ ์ผ๋ก ํ๊ฒฝ์ ๊ตฌ์ฑํ๋ ๊ฒ ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋ ์ปดํจํ ๋ฆฌ์์ค๋ฅผ ์ธํฐ๋ท์ ํตํด ์๋น์ค๋ก ์ฌ์ฉํ ์ ์๋ ์ฃผ๋ฌธํ ์๋น์ค (= ํด๋ผ์ฐ๋ ์ปดํจํ ) On-premise์ ๋ฐ๋๋ง์ธ Off-Premise๋ผ๊ณ ๋ ํฉ๋๋ค. ๊ธฐ์ ์์ ์ง์ ๋ฆฌ์์ค๋ฅผ ์กฐ๋ฌํ๊ฑฐ๋ ๊ตฌ์ฑ, ๊ด๋ฆฌํ ํ์๊ฐ ์์ด ์ฌ์ฉํ ๋งํผ๋ง ๋น์ฉ์ ์ง๋ถ ๋ํ์ ์ธ ํ๋ซํผ์ผ๋ก๋ AWS , GCP ๋ฑ ์จํ๋ ๋ฏธ์ค vs ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋ ์ค์ ์ ์ผ๋ก ๋ด์ผํ ๊ฒ์ ๋น์ฉ์ ์ธ ์ธก๋ฉด ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ํฐ์ผํ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค๊ณ ํด๋ด ์๋ค. ํ์์๋ ์ฌ์ฉ์๊ฐ ๋ณ๋ก ์๋ค๊ฐ ์ธ๊ธฐ์๋ ์ฐ์์ธ์ ์ฝ์ํธ ์๋งค๊ฐ ์กํ์๋ค๋ฉด, ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๊ธฐ..
2022.10.26 -
๐ก ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ , ๋ ์ง์คํธ๋ฆฌ์ ๊ดํ ๋ด์ฉ์ ๋ฏธ๋ฆฌ ํ์ตํ๊ณ ์ฝ์ผ๋ฉด ์ข์ต๋๋ค. Spring Cloud Eureka๋? ๋ทํ๋ฆญ์ค์์ ๋ง๋ ์๋น์ค ์๋ฒ๋ค์ ์ค์ ๋ ์ง์คํธ๋ฆฌ์ ๋ฑ๋กํ๊ณ ์ฅ์ ๊ฐ ๋ฐ์ํ ๋ ์๋์ผ๋ก ์ ์ธ ์ ์ธ์คํด์ค ์์์ Eureka ์๋ฒ์ IP, ํธ์คํธ ์ฃผ์, ํฌํธ ๋ฒํธ ๋ฑ์ ์ค์ค๋ก ์ ์ก. ์ด์์๋ค์ IP ์ ๋ณด๋ฅผ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋จ. ๋ค๋ฅธ ์๋น์ค ํธ์ถ์ Eureka ์๋ฒ์ ๋ฑ๋ก๋ ์ธ์คํด์ค๋ฅผ ์กฐํ. ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ก ๊ตฌ๋ถํ์ฌ ์ฌ์ฉ. ๊ตฌ์ฑ ์์ Service Discovery ๋ง์ดํฌ๋ก์๋น์ค์ ์์น๋ฅผ ์ฐพ๋ ์์ Spring Cloud Netflix - Eureka Server ๋ฅผ ์ด์ฉ Service Registry ๊ฐ๊ฐ์ ์๋น์ค๊ฐ ์์ ์ ์์น๋ฅผ ํน์ ์๋ฒ์ ๋ฑ๋กํ๋ ์์ Spring Cloud..
Spring Cloud Netflix Eureka๐ก ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ , ๋ ์ง์คํธ๋ฆฌ์ ๊ดํ ๋ด์ฉ์ ๋ฏธ๋ฆฌ ํ์ตํ๊ณ ์ฝ์ผ๋ฉด ์ข์ต๋๋ค. Spring Cloud Eureka๋? ๋ทํ๋ฆญ์ค์์ ๋ง๋ ์๋น์ค ์๋ฒ๋ค์ ์ค์ ๋ ์ง์คํธ๋ฆฌ์ ๋ฑ๋กํ๊ณ ์ฅ์ ๊ฐ ๋ฐ์ํ ๋ ์๋์ผ๋ก ์ ์ธ ์ ์ธ์คํด์ค ์์์ Eureka ์๋ฒ์ IP, ํธ์คํธ ์ฃผ์, ํฌํธ ๋ฒํธ ๋ฑ์ ์ค์ค๋ก ์ ์ก. ์ด์์๋ค์ IP ์ ๋ณด๋ฅผ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋จ. ๋ค๋ฅธ ์๋น์ค ํธ์ถ์ Eureka ์๋ฒ์ ๋ฑ๋ก๋ ์ธ์คํด์ค๋ฅผ ์กฐํ. ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ก ๊ตฌ๋ถํ์ฌ ์ฌ์ฉ. ๊ตฌ์ฑ ์์ Service Discovery ๋ง์ดํฌ๋ก์๋น์ค์ ์์น๋ฅผ ์ฐพ๋ ์์ Spring Cloud Netflix - Eureka Server ๋ฅผ ์ด์ฉ Service Registry ๊ฐ๊ฐ์ ์๋น์ค๊ฐ ์์ ์ ์์น๋ฅผ ํน์ ์๋ฒ์ ๋ฑ๋กํ๋ ์์ Spring Cloud..
2022.10.24 -
์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ๋? MSA๋ ์ฌ๋ฌ ๊ฐ์ ๋ง์ดํฌ๋ก์๋น์ค๋ก ์ด๋ฃจ์ด์ ธ์์ต๋๋ค. ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ํธ์ถํ๊ธฐ ์ํด์๋ ์ฌ์ฉํ๊ณ ์ํ๋ ํด๋น ์๋น์ค์ ์ธ์คํด์ค IP์ฃผ์์ Port๋ฅผ ์์์ผํ๋ฉฐ ์๋น์ค์ ์ต์ ๊ฒฝ๋ก๋ฅผ ์ฐพ์์ฃผ๋ ๋ผ์ฐํ ๊ธฐ๋ฅ๊ณผ ์ ์ ํ ๋ถํ ๋ถ์ฐ์ ์ํ ๋ก๋ ๋ฐธ๋ฐ์ฑ ๊ธฐ๋ฅ์ด ํ์ํฉ๋๋ค. ํด๋ผ์ฐ๋ ํ๊ฒฝ์์๋ ์คํ ์ค์ผ์ผ๋ง์ ํตํด ์๋น์ค ์ธ์คํด์ค๊ฐ ๋์ ์ผ๋ก ์์ฑ๋๊ณ ์ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ์๋น์ค์ IP๊ฐ ์ ๋์ ์ผ๋ก ๋ณํ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ ๋ค๋ณด๋ ํด๋ผ์ด์ธํธ๋ ๋ณ๊ฒฝ์ฌํญ์ด ์๊ธธ ๋๋ง๋ค ๋งค๋ฒ ์์ญ ์๋ฐฑ๊ฐ์ ์๋น์ค ์ธ์คํด์ค์ ์ ๋ IP ์ ๋ณด๋ฅผ ์ ์ก๋ฐ์ ๊ฐฑ์ ํด์ผ๋๋ ๋ฒ๊ฑฐ๋ก์์ด ์กด์ฌํฉ๋๋ค. ์ฐจ๋ผ๋ฆฌ ์ 3์ ๊ณต๊ฐ์์ ์๋น์ค์ ๋ช ์นญ๊ณผ ์ ๋์ ์ธ IP ์ ๋ณด๋ฅผ ๋งคํํด์ ๊ด๋ฆฌํด์ฃผ๊ณ ํด๋ผ์ด์ธํธ๋ ์ด๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด ์ข์ง ์์๊น์์ ๋์จ ๊ฒ์ด ๋ฐ๋ก ์..
Service Discovery Pattern์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ๋? MSA๋ ์ฌ๋ฌ ๊ฐ์ ๋ง์ดํฌ๋ก์๋น์ค๋ก ์ด๋ฃจ์ด์ ธ์์ต๋๋ค. ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ํธ์ถํ๊ธฐ ์ํด์๋ ์ฌ์ฉํ๊ณ ์ํ๋ ํด๋น ์๋น์ค์ ์ธ์คํด์ค IP์ฃผ์์ Port๋ฅผ ์์์ผํ๋ฉฐ ์๋น์ค์ ์ต์ ๊ฒฝ๋ก๋ฅผ ์ฐพ์์ฃผ๋ ๋ผ์ฐํ ๊ธฐ๋ฅ๊ณผ ์ ์ ํ ๋ถํ ๋ถ์ฐ์ ์ํ ๋ก๋ ๋ฐธ๋ฐ์ฑ ๊ธฐ๋ฅ์ด ํ์ํฉ๋๋ค. ํด๋ผ์ฐ๋ ํ๊ฒฝ์์๋ ์คํ ์ค์ผ์ผ๋ง์ ํตํด ์๋น์ค ์ธ์คํด์ค๊ฐ ๋์ ์ผ๋ก ์์ฑ๋๊ณ ์ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ์๋น์ค์ IP๊ฐ ์ ๋์ ์ผ๋ก ๋ณํ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ ๋ค๋ณด๋ ํด๋ผ์ด์ธํธ๋ ๋ณ๊ฒฝ์ฌํญ์ด ์๊ธธ ๋๋ง๋ค ๋งค๋ฒ ์์ญ ์๋ฐฑ๊ฐ์ ์๋น์ค ์ธ์คํด์ค์ ์ ๋ IP ์ ๋ณด๋ฅผ ์ ์ก๋ฐ์ ๊ฐฑ์ ํด์ผ๋๋ ๋ฒ๊ฑฐ๋ก์์ด ์กด์ฌํฉ๋๋ค. ์ฐจ๋ผ๋ฆฌ ์ 3์ ๊ณต๊ฐ์์ ์๋น์ค์ ๋ช ์นญ๊ณผ ์ ๋์ ์ธ IP ์ ๋ณด๋ฅผ ๋งคํํด์ ๊ด๋ฆฌํด์ฃผ๊ณ ํด๋ผ์ด์ธํธ๋ ์ด๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด ์ข์ง ์์๊น์์ ๋์จ ๊ฒ์ด ๋ฐ๋ก ์..
2022.10.24 -
Monolithic Architecture ์ ํต์ ์ธ ์ํคํ ์ฒ๋ก ํ๋์ ๋จ์๋ก ๊ฐ๋ฐ๋๋ ์ผ์ฒด์ ์ดํ๋ฆฌ์ผ์ด์ ์ํํธ์จ์ด์ ๋ชจ๋ ๊ตฌ์ฑ์์๊ฐ ํ ํ๋ก์ ํธ์ ํตํฉ ๋์ด์๋ ํํ ๋ณดํต ํ๋์ ์๋น์ค ๋๋ ์ดํ๋ฆฌ์ผ์ด์ ์ด ํ๋์ ๊ฑฐ๋ํ ์ํคํ ์ณ๋ฅผ ๊ฐ์ง ๋, Monolithic ํ๋ค๊ณ ๋ถ๋ฆ ๋๋ค. ํ๋์ ๋ ผ๋ฆฌ์ ์ธ ๋จ์ผ์ฒด๋ก ๋ด๋ถ ์์๊ฐ์ ์์กด์ฑ์ด ๊ฐํฉ๋๋ค. ์ฅ์ ๋จ์ํ ์ํคํ ์ณ ๊ตฌ์กฐ์ด๊ธฐ์ ์๊ท๋ชจ ํ๋ก์ ํธ์ ์ ํฉ ์ ์ฒด๊ฐ ํฉ์ณ์ ธ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ, ๋น๋, ๋ฐฐํฌ, ํ ์คํธ๊ฐ ์ฉ์ด ๋จ์ํ ํ๋์ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ณต์ฌ๋ง ํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ์ฝ๊ฒ ๊ณ ๊ฐ์ฉ์ฑ ์๋ฒ ํ๊ฒฝ ๊ตฌ์ถ ๊ฐ๋ฅ ๋จ์ ํ๋์ ๋ชจ๋ ๊ฒ์ด ๋ค์ด์๊ธฐ ๋๋ฌธ์ ๊ท๋ชจ๊ฐ ์ปค์ง์๋ก ์ดํ๋ฆฌ์ผ์ด์ ๊ตฌ๋์๊ฐ์ด ๋์ด๋๊ณ ๋น๋, ๋ฐฐํฌ ์๊ฐ๋ ๊ธธ์ด์ง ํ๋๋ฅผ ์์ ํ๋๋ผ๋ ์ ์ฒด๋ฅผ ๋ค์ ๋น๋ํ๊ณ ๋ฐฐํฌํด์ผํจ..
Monolithic vs MSAMonolithic Architecture ์ ํต์ ์ธ ์ํคํ ์ฒ๋ก ํ๋์ ๋จ์๋ก ๊ฐ๋ฐ๋๋ ์ผ์ฒด์ ์ดํ๋ฆฌ์ผ์ด์ ์ํํธ์จ์ด์ ๋ชจ๋ ๊ตฌ์ฑ์์๊ฐ ํ ํ๋ก์ ํธ์ ํตํฉ ๋์ด์๋ ํํ ๋ณดํต ํ๋์ ์๋น์ค ๋๋ ์ดํ๋ฆฌ์ผ์ด์ ์ด ํ๋์ ๊ฑฐ๋ํ ์ํคํ ์ณ๋ฅผ ๊ฐ์ง ๋, Monolithic ํ๋ค๊ณ ๋ถ๋ฆ ๋๋ค. ํ๋์ ๋ ผ๋ฆฌ์ ์ธ ๋จ์ผ์ฒด๋ก ๋ด๋ถ ์์๊ฐ์ ์์กด์ฑ์ด ๊ฐํฉ๋๋ค. ์ฅ์ ๋จ์ํ ์ํคํ ์ณ ๊ตฌ์กฐ์ด๊ธฐ์ ์๊ท๋ชจ ํ๋ก์ ํธ์ ์ ํฉ ์ ์ฒด๊ฐ ํฉ์ณ์ ธ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ, ๋น๋, ๋ฐฐํฌ, ํ ์คํธ๊ฐ ์ฉ์ด ๋จ์ํ ํ๋์ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ณต์ฌ๋ง ํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ์ฝ๊ฒ ๊ณ ๊ฐ์ฉ์ฑ ์๋ฒ ํ๊ฒฝ ๊ตฌ์ถ ๊ฐ๋ฅ ๋จ์ ํ๋์ ๋ชจ๋ ๊ฒ์ด ๋ค์ด์๊ธฐ ๋๋ฌธ์ ๊ท๋ชจ๊ฐ ์ปค์ง์๋ก ์ดํ๋ฆฌ์ผ์ด์ ๊ตฌ๋์๊ฐ์ด ๋์ด๋๊ณ ๋น๋, ๋ฐฐํฌ ์๊ฐ๋ ๊ธธ์ด์ง ํ๋๋ฅผ ์์ ํ๋๋ผ๋ ์ ์ฒด๋ฅผ ๋ค์ ๋น๋ํ๊ณ ๋ฐฐํฌํด์ผํจ..
2022.10.21