Skip to content

태그: MQ

총 5개의 글이 있습니다.
Kafka 파티션 리더 선출
mq
Kafka는 분산 시스템이다. 파티션마다 리더가 있고, 리더만 읽기/쓰기를 처리한다. Kafka에서 각 파티션은 여러 브로커에 복제된다. 복제본(replica) 중 하나가 리더, 나머지는 팔로워다. 프로듀서와 컨슈머는 리더하고만 통신한다. 컨트롤러 컨트롤러라는 특별한 브로커 하나는 다음 역할들을 담당한다: 파티션 리더 선출 브로커 장애 감지 파티션 재할당 조율 컨트롤러 자체도 선출된다. 여러 브로커가 동시에 컨트롤러가 되려고 경쟁하고, 하나만 성공한다. ZooKeeper 모드에서는 /controller znode를 먼저 생성한 브로커가 컨트롤러가 된다. ephemeral node라서 해당 브로커가 죽으면 자동으로 삭제되고, 다른 브로커가 다시 경쟁한다. KRaft 모드에서는 Raft 합의 알고리즘으로
RabbitMQ
mq
래빗MQ(RabbitMQ)는 오픈소스인 범용 메시지 브로커 소프트웨어이다. RabbitMQ는 온라인 거래 또는 결제 처리와 같이 처리량이 많은 경우에 성능을 개선하는데 사용될 수 있다. 일반적으로 백그라운드 및 cron 작업을 처리하거나 마이크로서비스 간의 메시지 브로커로 사용된다. RabbitMQ는 가볍기 떄문에 클라우드에 배포하기 쉽다. 여러 메시징 프로토콜을 지원하고 분산형 및 혼합형 구성에서 배포를 지원하여 다양한 상황에 적용이 가능하다. 특징 안정성 및 성능 RabbitMQ를 사용하면 메세지를 신뢰성 있고 빠르게 큐 형태로 전달할 수 있다. 유연한 라우팅 메시지는 큐에 도착하기 전에 교환을 통해 라우팅되므로 복잡한 라우팅이 가능하다. 트레이싱 추적 지원을 제공하여 메시징 시스템이 잘못 작동
메시지큐
mq
동기식 통신 방식은 사용자로부터 요청을 받아서 요청을 다 처리할때까지 서버가 다른 행동을 취하지 못하지만, 메세지큐를 사용해 외부에 요청을 맡긴다면 서버가 보다 많은 사람들의 요청을 빠르게 처리할 수 있다. MQ 사용 구조 클라이언트는 서버에 직접 요청하는 것이 아닌 MQ에 전달한다. 그럼 서버는 MQ로 부터 요청 데이터를 수신해서 처리한다. 만약 서버가 요청을 받을 수 없을 수 없는 상황이라면 해당 요청은 서버가 받을 때까지 MQ에 머무르게 된다. 이런 상황에서 MQ에 다운타임이 발생하면 무용지물이 되어버리기 때문에 많은 MQ가 고가용성을 위해 클러스터링 등을 지원한다. Pub/Sub 모델 Pub/Sub 모델은 Publish/Subscribe의 줄임말로 메세지 기반의 미들웨어 시스템을 말한다.