[DEV] J-Jay

IPC(Inter Process Commuication) - 3 본문

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과의 좋은 궁합으로 폭넓게 사용
    - 러닝커브 ↑

Kafka 아키텍처

Topic : Producer, Consumer의 메시징 객체 (~ 에 보내, ~로 부터 받아)
Partition : Topic을 물리적으로 분할 및 처리

Broker: Kafka 클러스터의 각 노드를 의미

Zookeeper : Kafka 클러스터의 메타데이터 관리

 

'Back-end > MSA' 카테고리의 다른 글

IPC(Inter Process Commuication) - 4  (0) 2024.04.29
IPC(Inter Process Commuication) - 2  (0) 2024.04.26
IPC(Inter Process Commuication)  (0) 2024.04.26
MSA 분해로 인해 생긴 문제 해결 방법  (0) 2024.04.25
MSA 분해로 생긴 문제들  (1) 2024.04.25