Back-end/MSA
IPC(Inter Process Commuication) - 3
J-Jay
2024. 4. 29. 22:34
728x90

IPC(Inter Process Commuication) Async(비동기) 패턴
→ Queue를 활용하여 Produce, Consume 방식으로 데이터 통신
- MQTT (Message Queuing Templemetry Transport) - Spec ↓ 기능↓ 쓰지 않음
- 경량 메시징 프로톸로로서, IoT 경량화가 최대 목적인 프로토콜
- Publish, Subscribe, Topic 사용 - AMQP (Advanced Message Queuing Protocol)
- 엔터프라이즈 레벨의 메시징 시스템을 위한 프로토콜
- MQTT 개념 외에도, Exchange, Binding 등 개념 추가
- Rabbit MQ, Active MQ...

Publisher(발행자)는 Exchange(Routing 역할)만 바라본다.
Exchange는 Queue를 통해 Consumer를 통해 Subscribe or Request to Message Sending 방식으로 사용할 수 있다.
- Kafka
- 링크드인에서 개발한 대용량의 데이터 스트림을 처리하기 위한 분산 스트리밍 플랫폼
- MQTT, AMQP 등의 표준을 구현하는 프로토콜이 아닌, 독립적인 데이터 스트리핑 플랫폼
- 비교적 복잡한 개념들을 가지고 있지만, 성능(=메시지 처리량) ↑
- 고성능, 고용량 메시지 처리 설계
- JVM과의 좋은 궁합으로 폭넓게 사용
- 러닝커브 ↑

Topic : Producer, Consumer의 메시징 객체 (~ 에 보내, ~로 부터 받아)
Partition : Topic을 물리적으로 분할 및 처리
Broker: Kafka 클러스터의 각 노드를 의미
Zookeeper : Kafka 클러스터의 메타데이터 관리