안녕하세요, 여러분~!
김송아입니다.
한 주는 잘 보내셨나요? 😊
금요일마다 찾아오는 아티클이다 보니, 늘 여러분들의 한 주가 궁금한 아침입니다.
어떤 한 주이셨든, 너무 고생 많으셨습니다!!
편안한 주말이 성큼 다가온 만큼!!
오늘도 알차게 아침을 MSA로 열어보실까요? 알..알차다...
지난 아티클을 읽어보셨으리라 생각이 들고!
MSA가 필요하려면 어느정도 부피감이어야 하는지,,, 어떤 형태로 서비스가 엮여있어야 하는지,, 느낌 오셨으리라 생각됩니다.
-
오늘은 그럼 지난 아티클에서 얘기했던 MSA 서비스 단위를 바탕으로!
어떻게 모듈을 나눠서 구현할 수 있는지 간단하게 얘기해보시죠.
(MSA 시리즈는 아티클 형태로 쉽게 읽으실 수 있게 최대한 쪼개고, 최대한 쉽게 말씀드리고 있으니 가볍게 읽어보세요!)
여기서 잠깐! 제가 모듈이라고 했죠?
여러분들은 모듈이 뭐라고 생각하시나요?
객체 지향 개발자라면 모듈화를 한다는 얘기를 처음 들어보시는 것은 아닐거고!
우리는 보통 메소드를 추출하거나, 클래스를 분리시킬 때 모듈화를 한다고 표현하고 있죠.
그래서 보통은 추상적으로 음,, 코드를 독립시키는 것,,? 이라고 하실 수 있을 것 같아요.
하지만 프로젝트 단위에서 말하는 모듈은 엄연히 정의가 있습니다.
intellij를 써보신 분들은 한번쯤 보셨을 거라 생각됩니다.
프로젝트를 마우스 오른쪽 버튼 클릭하면, 프로젝트 메뉴로 Module을 분명 봤을테니까요!
이때, 왜 프로젝트를 모듈이라고 부르는지 궁금하지 않으셨나요?
모듈(Module)이란,
독립적으로 배포될 수 있는 코드의 단위를 말합니다.
💡 그럼 또 배포가 뭐냐~ 하고 생각해볼 수 있겠죠?
배포(Deployment)란,
사용자들이 인터넷을 통해서 우리 서비스를 사용할 수 있게 하는 것을 말합니다.
쉽게 말해서 모듈은 하나의 프로젝트라고 보시면 된다는 거죠~!
..👀 갑자기 모듈 얘기를 왜 하냐구요?!
MSA를 구성하기 위해서 우리는 서비스를 나눠야 한다고 했었죠?
1. MSA가 아니라 모놀리식(일반적인 프로젝트, 하나의 덩어리) 였다면,,
이렇게 하나의 서버에 하나의 프로젝트가 배포되겠죠?
2. 하지만 MSA가 되면,,
우리는 이 서비스를 각각의 모듈로 구성해야합니다.
아래 그림처럼 각 모듈로 구성한 뒤 각 서버에 배포하는 거죠!!
그럼 당연히 하나의 큰 서비스는 여러개의 서버 그리고 여러 개의 모듈을 가지게 될거고!!!
이것이 바로 MSA 설계의 시작이 되는 거죠🔥🔥🔥
어떠신가요?
생각보다 아~ 이런거네 싶지 않으신가요?ㅎㅎ
가볍게 드리는 만큼, 가벼운 마음으로 시리즈를 함께 하시죠!!!
오늘도 맛있는 거 먹구, 기분 좋은 하루 되시길 바라며✨
감사합니다.
김송아 드림
'Programming' 카테고리의 다른 글
[언그래머] 여든아홉번째 아티클_Spring boot MSA 설계 (3) 멀티 모듈의 장점 (35) | 2024.06.14 |
---|---|
[언그래머] 코딩테스트 챌린지_11_있었는데요 없었습니다. (3) | 2024.06.11 |
[언그래머] 코딩테스트 챌린지_10_최소직사각형 (32) | 2024.06.04 |
[언그래머] 여든일곱번째 아티클_Spring boot MSA 설계 (1) 서비스 단위 (66) | 2024.05.31 |
[언그래머] 여든여섯번째 아티클_스프링부트 3점대 업데이트 주요 3가지 (57) | 2024.05.24 |