빠른 학습 -RocketMQ 기본 개념

기본 개념


1 메시지 모델 (메시지 모델)

RocketMQ는 주로 Producer, Broker, Consumer의 세 부분으로 구성되어 있으며, Producer는 메시지 생성, Consumer는 메시지 소비, Broker는 메시지 저장을 담당합니다. 브로커는 실제 배포 과정에서 서버에 해당하며 각 브로커는 여러 개의 Topic 메시지를 저장할 수 있으며 각 Topic 메시지는 조각으로 다른 브로커에 저장할 수도 있습니다. Message Queue는 메시지의 물리적 주소를 저장하는 데 사용됩니다. 각 항목의 메시지 주소는 여러 Message Queue에 저장됩니다. ConsumerGroup은 여러 소비자 인스턴스로 구성됩니다.

2 메시지 생성자 (프로듀서)

메시지 생성을 담당하며 일반적으로 비즈니스 시스템이 메시지 생성을 담당합니다. 메시지 생산자는 비즈니스 애플리케이션 시스템에서 생성 된 메시지를 브로커 서버로 보냅니다. RocketMQ는 다양한 전송 방법, 동기 전송, 비동기 전송, 순차 전송 및 단방향 전송을 제공합니다. 동기 및 비동기 메서드 모두 브로커가 확인 정보를 반환해야하며 단방향 전송은 필요하지 않습니다.

3 메시지 소비자 (소비자)

메시지 소비를 담당하며 일반적으로 백그라운드 시스템이 비동기 소비를 담당합니다. 메시지 소비자는 브로커 서버에서 메시지를 가져와 응용 프로그램에 제공합니다. 사용자 애플리케이션의 관점에서 풀 소비와 푸시 소비의 두 가지 소비 형태가 제공됩니다.

4 주제

한 유형의 메시지 모음을 나타냅니다. 각 주제에는 여러 메시지가 포함되어 있으며 각 메시지는 하나의 주제에만 속할 수 있습니다. 메시지 구독을위한 RocketMQ의 기본 단위입니다.

5 프록시 서버 (브로커 서버)

메시지 저장 및 전달을 담당하는 메시지 릴레이 역할. RocketMQ 시스템에서 프록시 서버는 생산자가 보낸 메시지를 수신 및 저장하는 동시에 소비자의 풀 요청을 준비하는 역할을합니다. 프록시 서버는 또한 소비자 그룹, 소비 진행 오프셋, 주제 및 대기열 메시지 등 메시지 관련 메타 데이터를 저장합니다.

6 네임 서비스 (네임 서버)

이름 서비스는 라우팅 메시지의 공급자 역할을합니다. 생산자 또는 소비자는 이름 서비스를 통해 각 주제에 해당하는 브로커 IP 목록을 조회 할 수 있습니다. 여러 Namesrv 인스턴스가 클러스터를 형성하지만 서로 독립적이며 정보 교환이 없습니다.

7 소비자 끌어 오기

소비자 소비의 한 유형입니다. 응용 프로그램은 일반적으로 소비자의 풀 메시지 메서드를 호출하여 브로커 서버에서 메시지를 가져오고 이니셔티브는 응용 프로그램에서 제어합니다. 메시지 배치가 확보되면 애플리케이션이 소비 프로세스를 시작합니다.

8 푸시 소비자

소비자 소비의 일종입니다.이 모드에서는 브로커가 데이터를 수신 한 후 적극적으로 데이터를 소비자에게 푸시합니다.이 소비 모드는 일반적으로 실시간으로 높습니다.

9 프로듀서 그룹 (프로듀서 그룹)

동일한 유형의 생성자 모음입니다.이 유형의 생성자는 동일한 전송 로직을 사용하여 동일한 유형의 메시지를 전송합니다. 트랜잭션 메시지가 전송되고 원래 생성자가 전송 후 충돌하는 경우 브로커 서버는 동일한 생성자 그룹의 다른 생성자 인스턴스에 연결하여 커밋 또는 소급 소비를 수행합니다.

10 소비자 그룹 (소비자 그룹)

동일한 유형의 소비자 모음입니다.이 유형의 소비자는 일반적으로 일관된 사용 논리로 동일한 유형의 메시지를 사용합니다. 소비자 그룹을 사용하면 메시지 소비 측면에서로드 밸런싱 및 내결함성을 매우 쉽게 달성 할 수 있습니다. 소비자 그룹의 소비자 인스턴스는 동일한 주제를 구독해야합니다. RocketMQ는 클러스터링과 브로드 캐스팅의 두 가지 메시지 모드를 지원합니다.

11 클러스터 소비 (클러스터링)

클러스터 사용 모드에서 동일한 소비자 그룹의 각 소비자 인스턴스는 메시지를 동일하게 배포합니다.

12 방송 소비 (방송)

브로드 캐스트 소비 모드에서 동일한 소비자 그룹의 각 소비자 인스턴스는 전체 메시지를 수신합니다.

13 일반 순서 메시지 (일반 순서 메시지)

일반 순차 소비 모드에서는 동일한 소비 큐를 통해 소비자가 수신 한 메시지가 순서가있는 반면 다른 메시지 큐가 수신 한 메시지는 순서가 맞지 않을 수 있습니다.

14 엄격하게 정렬 된 메시지

엄격한 순서 메시지 모드에서는 소비자가 수신 한 모든 메시지가 순서대로 표시됩니다.

15 메시지

메시지 시스템에 의해 전송되는 정보의 물리적 캐리어, 가장 작은 생산 단위 및 데이터 소비, 각 메시지는 주제에 속해야합니다. RocketMQ의 각 메시지에는 고유 한 메시지 ID가 있으며 서비스 ID와 함께 키를 전달할 수 있습니다. 시스템은 Message ID와 Key를 통해 메시지를 조회하는 기능을 제공합니다.

16 태그

메시지에 대해 설정된 플래그는 동일한 제목에서 다른 유형의 메시지를 구별하는 데 사용됩니다. 동일한 비즈니스 단위의 메시지의 경우 다른 비즈니스 목적에 따라 동일한 제목 아래에 다른 태그를 설정할 수 있습니다. 태그는 코드의 명확성과 연속성을 효과적으로 유지하고 RocketMQ에서 제공하는 쿼리 시스템을 최적화 할 수 있습니다. 소비자는 태그에 따라 다른 하위 주제에 대해 다른 소비 로직을 구현하여 더 나은 확장 성을 얻을 수 있습니다.

추천

출처blog.csdn.net/weixin_42528266/article/details/108625039