안녕하세요 여러분!!
송아지할때 송아 김송아입니다.
지난 시간까지 우리 MSA에 대해 무슨 얘기 했는지 기억하시는 분!!ㅎㅎ
혹시 기억이 안 나신다면, 괜찮습니다!!😊 이거 다시 보고오면 되죠,,🙈
이번 시간에는 우리 메세지 브로커에 대해 알아보기로 했답니다😉
✨통신하는 방법으로는 크게 두가지가 있다고 했었죠? 동기 방식과 비동기 방식! 그 중 비동기방식이 메세지 브로커 방식입니다✨
오랜만에 MSA로 돌아왔으니 차근차근 알아보기로 해요!
오늘은 딱 메세지 브로커가 뭔지 개념을 확실히 잡고 가자구요🔥
자 그럼 우선, 메세지 브로커를 자세히 생각하기 전에 서비스부터 생각해보죠.
서비스 간 통신을 해야한다는 건 즉, 메세지를 교환해야한다는 뜻이겠죠.
그렇다면 서비스가 각각 다음과 같이 다른 역할을 해야할 것 같습니다.
📮 메세지를 보내는 역할
📬 메세지를 받는 역할
이렇게 두가지!
우리는 이 두 역할을 각각
메세지를 보내는 Publisher(송신자)와 메세지를 전달받는 Subscriber(수신자) 라고 부릅니다.
그럼 이 상황에서 편지가 혹시 혼자 걸어갈까요..?
당연히 아니겠죠. 누군가 전달을 해줘야할 겁니다.
즉, 우리에게 우체부 아저씨가 필요한 것 처럼요!!
(이젠 아저씨.. 아니고 저보다 동생분도 계시겠죠..?)
프로그래밍 세상에도 이런 우체부 아저씨가 있습니다.
바로 Message Broker(메세지 브로커)라고 부르는 모듈 입니다.
브로커 말 그대로 '중개인' 이라는 뜻을 가지고 있는,
✔️ 메세지 브로커란?!
애플리케이션, 시스템 및 서비스가 서로 간에 통신하고 정보를 교환할 수 있도록
중간 매개체 역할을 해주는 소프트웨어
편지가 우체통에 들어가면 우체국에 모였다가 가죠?
이 우체국! 즉, 메세지가 적재되는 공간을 ✔️ 메세지 큐(Message Queue)라고 부릅니다.
그리고 우체국 안을 들여다보면, 각각 어느 지역으로 갈건지 나눠서 보관하고 있을 거에요.
우리는 그렇게 나누어진 메세지 그룹을 ✔️ 토픽(Topic)이라고 부릅니다.
단, 현실 세상과는 조금 다른 건 메세지를 받아가는 방법입니다.
우리 세상에서는 우체부 아저씨가 직접 가져다 주는데,
메세지 브로커는 엄밀히 얘기하면 메세지를 모아주기만 하고, 가져가는 건 수신자(Subscriber)가 직접 해야해요🙈
즉, ✔️ 수신자가 원하는 기간 동안 토픽을 쳐다보고 있을겁니다.
토픽을 감시하고 있다가, 메세지가 딱 들어온다?
그럼 바~로 가져다가 쓸거거든요!
✔️ 메세지 브로커의 대표적인 서비스는 어떤 것들이 있냐구요?
많이 들어보셨을 카프카! 정식 명칭은 Apache Kafka 이죠. 이 친구가 대표 주자 이구요,
또 많이 들어보셨을 RabbitMQ, ActiveMQ, Redis 정도 들 수 있겠네요!!ㅎㅎ
이렇게 간단히! 메세지 브로커가 무엇인지에 대해서 알아봤습니다!! 꺄
한번 쓱 읽어보시구, 먼저 Kafka든 MQ든 해보고 싶은 욕심이 드신다면!!
마음껏 공식문서와 함께 협업(?)해보고 만나자구요💕
후, 벌써 금요일이네요
시간이 느린데 빨리가요..😇
아무쪼록 늘 함께해주셔서 감사합니다
여름을 즐기는 주말 되시길 바라며🌿
'Web' 카테고리의 다른 글
[언그래머] 코딩테스트 챌린지_15_연탄의 크기 (by 소프티어) (1) | 2024.07.09 |
---|---|
Spring boot MSA 설계 (6) 서비스..레지스트리... 누구세요.. (1) | 2024.07.05 |
[언그래머] 쉰여섯번째 아티클_데이터 무결성 검증에 실패하였습니다. (24) | 2024.01.02 |
[언그래머] 쉰다섯번째 아티클_우리는 진짜 애자일을 하고 있는 걸까? (26) | 2023.12.29 |
[언그래머] 쉰네번째 아티클_CI/CD 2탄_CD 개념이 하나가 아니라고..? (15) | 2023.12.26 |