Kafka, RabbitMQ, GCP pub/sub
2022. 2. 27. 11:10ㆍCloud Native
- 목차
반응형
RabbitMQ
- 사용 경우
- 메시지 전달의 신뢰성이 중요한 경우
- 메시지 처리 순서가 보장되지 않아도 되는 경우
- 메시지 영속성 없음
- Advanced Message Queuing Protocol (AMQP)
- client와 middleware간 message 교환
- 다른 MQ (e.g., ActiveMQ, ZeroMQ) 등과 data 교환이 용이
- 동기/비동기 지원
- Routing
- Exchanger가 message를 적절히 queue에 분배
- broker 중심적
- producer와 consumer간 message 전달 보장의 신뢰성 확보
Kafka
- 사용 경우
- 높은 처리량이 필요한 경우
- scale-out이 중요한 경우
- message 전송 보장이 100%가 아닌 경우
- streaming data 처리 필요 경우
- mesage의 영속성이 필요한 경우
- 분산 처리 system
- scalability와 high availability
- 장애 대응 높음
- disk file system에 data를 저장하여 persistency 보장
- producer 중심적
- no routing
- producer가 직접 topic과 partition을 지정
- 데이터 신뢰성이 낮음 (대신 빠름)
- message 전송 보장 시 leader와 follower 모두 H/S 필요
- RabbitMQ 대비 5배 이상 빠름
Google pub/sub
- Kafka like architecture
- topic 개념 사용
- cloud service임 (별도 설치 운영 필요 없음)
- 메시지 처리 순서 보장 X
- 영속성 X
반응형
'Cloud Native' 카테고리의 다른 글
OAuth 2.0 (0) | 2022.04.05 |
---|---|
REST API (0) | 2022.03.01 |
Chat System (0) | 2022.02.27 |
Cache system (0) | 2022.02.27 |
DB replication (다중화) (0) | 2022.02.27 |