Web

[언그래머] 아흔다섯번째 아티클_Spring boot MSA 설계 (7) 메세지 브로커

송코딩 songcoding 2024. 7. 26. 07:59

안녕하세요 여러분!!

송아지할때 송아 김송아입니다.

 

 

지난 시간까지 우리 MSA에 대해 무슨 얘기 했는지 기억하시는 분!!ㅎㅎ

혹시 기억이 안 나신다면, 괜찮습니다!!😊 이거 다시 보고오면 되죠,,🙈

 

 

Spring boot MSA 설계 (6) 서비스..레지스트리... 누구세요..

안녕하세요 여러분!김송아입니다.   지난 시간 백엔드 서비스를 쪼개는 일을 해봤죠!!다들 빌드에 대해선 좀 더 공부해보셨나요!?ㅎㅎ (아직 질문은 따로 없으셔서, 필요하시면 언제든!)  그

songacoding.tistory.com

 

 

이번 시간에는 우리 메세지 브로커에 대해 알아보기로 했답니다😉

✨통신하는 방법으로는 크게 두가지가 있다고 했었죠? 동기 방식과 비동기 방식! 그 중 비동기방식이 메세지 브로커 방식입니다✨

 

 

 

오랜만에 MSA로 돌아왔으니 차근차근 알아보기로 해요!

오늘은 딱 메세지 브로커가 뭔지 개념을 확실히 잡고 가자구요🔥

 

 

 

자 그럼 우선, 메세지 브로커를 자세히 생각하기 전에 서비스부터 생각해보죠.

서비스 간 통신을 해야한다는 건 즉, 메세지를 교환해야한다는 뜻이겠죠.

그렇다면 서비스가 각각 다음과 같이 다른 역할을 해야할 것 같습니다.

📮 메세지를 보내는 역할

📬 메세지를 받는 역할

 

이렇게 두가지!

 

 

우리는 이 두 역할을 각각

메세지를 보내는 Publisher(송신자)와 메세지를 전달받는 Subscriber(수신자) 라고 부릅니다.

 

 

 

그럼 이 상황에서 편지가 혹시 혼자 걸어갈까요..?

당연히 아니겠죠. 누군가 전달을 해줘야할 겁니다.

즉, 우리에게 우체부 아저씨가 필요한 것 처럼요!! 

(이젠 아저씨.. 아니고 저보다 동생분도 계시겠죠..?)

 

아무쪼록 감사합니다 우체부 아저씨♥️ @망글곰

 

 

프로그래밍 세상에도 이런 우체부 아저씨가 있습니다.

바로 Message Broker(메세지 브로커)라고 부르는 모듈 입니다.

 

 

브로커 말 그대로 '중개인' 이라는 뜻을 가지고 있는, 

 

@구글 로고 오늘 왜 저렇게 귀엽나요..? 7/26(금)

 

 

✔️ 메세지 브로커란?!

애플리케이션, 시스템 및 서비스가 서로 간에 통신하고 정보를 교환할 수 있도록 

중간 매개체 역할을 해주는 소프트웨어

 

 

편지가 우체통에 들어가면 우체국에 모였다가 가죠?

이 우체국! 즉, 메세지가 적재되는 공간✔️ 메세지 큐(Message Queue)라고 부릅니다.

 

그리고 우체국 안을 들여다보면, 각각 어느 지역으로 갈건지 나눠서 보관하고 있을 거에요.

우리는 그렇게 나누어진 메세지 그룹을 ✔️ 토픽(Topic)이라고 부릅니다.

 

 

단, 현실 세상과는 조금 다른 건 메세지를 받아가는 방법입니다.

우리 세상에서는 우체부 아저씨가 직접 가져다 주는데,

메세지 브로커는 엄밀히 얘기하면 메세지를 모아주기만 하고, 가져가는 건 수신자(Subscriber)가 직접 해야해요🙈

 

즉, ✔️ 수신자가 원하는 기간 동안 토픽을 쳐다보고 있을겁니다.

 

이만한 감시 짤이 없어요🫶🏻 @노주현님

 

토픽을 감시하고 있다가, 메세지가 딱 들어온다?
그럼 바~로 가져다가 쓸거거든요!

 

 

✔️ 메세지 브로커의 대표적인 서비스는 어떤 것들이 있냐구요?

많이 들어보셨을 카프카! 정식 명칭은 Apache Kafka 이죠. 이 친구가 대표 주자 이구요,

 

또 많이 들어보셨을 RabbitMQ, ActiveMQ, Redis 정도 들 수 있겠네요!!ㅎㅎ

 

 

 

이렇게 간단히! 메세지 브로커가 무엇인지에 대해서 알아봤습니다!! 꺄

 

한번 쓱 읽어보시구, 먼저 Kafka든 MQ든 해보고 싶은 욕심이 드신다면!!

마음껏 공식문서와 함께 협업(?)해보고 만나자구요💕

 

 

후, 벌써 금요일이네요

시간이 느린데 빨리가요..😇

 

아무쪼록 늘 함께해주셔서 감사합니다

여름을 즐기는 주말 되시길 바라며🌿