목차
구성 지침
명령줄을 사용하여 대기열 목록을 봅니다
큐 정의
신뢰성
반복 처리
prefetchCount=1
关于默认Exchange
消息传递的基本过程
Topic Exchange的通配符
메시지 전달도 불가능합니다. 기본 프로세스
--> 큐는 큐를 구독하는 소비자에게 메시지를 보냅니다. 소비자가 메시지를 소비할 때까지 메시지는 대기열에 남아 있습니다.)
Java java지도 시간 RabbitMQ 설치(Windows) 예제 튜토리얼

RabbitMQ 설치(Windows) 예제 튜토리얼

Jul 18, 2017 pm 02:44 PM
rabbitmq 공부하다 메모

관리 백엔드

rabbitmq에는 자체 관리 백엔드가 함께 제공되며 설치 후에 구성하고 켜야 합니다.
rabbitmq 설치 디렉터리에 sbin 디렉터리를 입력하고
rabbitmq-plugins 활성화 Rabbitmq_management
rabbitmq 서비스를 다시 시작하면 적용됩니다.
http://localhost:15672/ 열기 관리 배경 보기
사용자 이름과 비밀번호는 모두 손님입니다

구성 지침


명령줄을 사용하여 대기열 목록을 봅니다

sbin>rabbitmqctl list_queues  
sbin>rabbitmqctl list_queues name messages_ready messages_unacknowledged
로그인 후 복사

명령줄을 사용하여 대기열 목록을 봅니다. exchange list

sbin>rabbitmqctl list_exchanges
로그인 후 복사

큐 정의

RabbitMQ에서는 다른 매개변수 사용을 허용하지 않습니다. 기존 큐를 재정의하세요.

RabbitMQ에서는 다른 매개변수를 사용하여 기존 대기열을 재정의하는 것을 허용하지 않으며 이를 시도하는 모든 프로그램에 오류를 반환합니다.

신뢰성

메시지가 손실되지 않도록 하려면 메시지 지속성을 설정해야 합니다. 동시에 큐는 내구성도 있어야 합니다.
하지만 메시지를 받은 후 지속성을 완료하기 전에 RabbitMQ가 충돌하면 메시지가 손실되므로 여전히 100% 신뢰할 수는 없습니다.

반복 처리

다음 시나리오를 고려하세요(전제: 대기열과 메시지는 내구성이 있습니다).

  1. 소비자가 msgA 메시지를 받았는데, 이 메시지는 절반만 처리되었고 완료되지 않았으며 ack 확인이 시작되지 않았습니다.

    이때 RabbitMQ가 충돌했습니다.
  2. 소비자가 메시지 msgA 처리를 완료했습니다.
  3. RabbitMQ를 다시 시작했을 때 msgA가 처리되지 않은 것으로 확인되어 msgA가 다시 소비자에게 전송되었습니다.
  4. 이 시나리오에서는 메시지 msgA가 두 번 처리되므로 소비자 측에서는 반복 처리를 방지하는 메커니즘이 있어야 합니다.
ACK

ACK 확인은 RabbitMQ에게 소비자가 메시지 처리를 완료했음을 알려주는 것이지, 비즈니스 처리가 실패하더라도 ACK 확인은 필요합니다. 일반적으로 비즈니스상의 이유로 실패가 발생한 경우 재시도만으로는 문제가 해결되지 않기 때문입니다. 네트워크 중단, 시스템 정전 등으로 인해 발생한 오류에만 재시도가 필요합니다.

비즈니스 부하가 특정 소비자에게 집중되는 것을 방지

channel.basicQos(prefetchCount);
로그인 후 복사

prefetchCount=1

을 설정하고 해당 소비자에게 마지막 메시지가 할당될 때까지 한 번에 하나의 메시지만 한 소비자에게 할당하도록 RabbitMQ에 지시합니다. 메시지가 승인되고 처리됩니다. 이러한 방식으로 메시지는 실제 처리 조건에 따라 매번 유휴 소비자에게 할당됩니다.


기본 Exchange 정보prefetchCount=1
,告诉RabbitMQ 每次只给一个消费者分配一个消息,直到上一个分配给该消费者的消息被确认处理完成。这样一来,消息就会根据实际处理情况,每次都分配给空闲的消费者。

关于默认Exchange

默认Exchange隐式地绑定到每一个队列,路由key为队列名。不能对其进行显式绑定或解绑。并且它是不可删除的。

The default exchange is implicitly bound to every queue, with a routing key equal to the queue name. It is not possible to explicitly bind to, or unbind from the default exchange. It also cannot be deleted.

消息传递的基本过程

发布者发布一个消息
-->exchange接收消息(如果发布者没有指定特定的Exchange则使用默认Exchange),并根据exchange的类型,按照一定的路由规则,把消息路由给每一个符合路由规则的队列(如果没有匹配的队列,则消息被丢弃)
-->队列将消息发送给订阅该队列的某一个消费者(如果没有消费者则消息保留在队列中,知道有消费者消费该消息)

Topic Exchange的通配符

星号匹配一个单词(注意,不是一个字母)

* (star) can substitute for exactly one word.
井号匹配任意个单词
#

기본 Exchange는 암시적으로 각 대기열에 바인딩되며 라우팅 키는 대기열 이름입니다. 명시적으로 바인드되거나 바인드 해제될 수 없습니다. 그리고 삭제할 수 없습니다.

기본 교환은 대기열 이름과 동일한 라우팅 키를 사용하여 암시적으로 바인딩되거나 기본 교환에서 바인딩을 해제할 수 없습니다.

메시지 전달도 불가능합니다. 기본 프로세스

게시자가 메시지를 게시합니다

--> Exchange가 메시지를 수신하고(게시자가 특정 Exchange를 지정하지 않은 경우 기본 Exchange가 사용됨) 교환 유형 및 특정 라우팅 규칙에 따라 메시지는 라우팅 규칙을 준수하는 각 A 큐로 라우팅됩니다. (일치하는 큐가 없으면 메시지는 폐기됩니다.)

--> 큐는 큐를 구독하는 소비자에게 메시지를 보냅니다. 소비자가 메시지를 소비할 때까지 메시지는 대기열에 남아 있습니다.)

Topic Exchange 와일드카드

🎜별표는 단어와 일치합니다(문자가 아닌 참고). 🎜🎜🎜*(별표)는 정확히 대체할 수 있습니다. 한 단어.🎜파운드 기호 원하는 수의 단어와 일치🎜#(해시)는 0개 이상의 단어를 대체할 수 있습니다.🎜🎜🎜AMQP 프로토콜 필수 및 즉시 플래그의 역할🎜🎜필수 및 즉시 플래그는 다음과 같습니다. AMQP 프로토콜의 basic.plish 메서드에서 두 개의 플래그 비트는 메시지 전달 중 대상에 도달할 수 없을 때 생산자에게 메시지를 반환하는 기능을 가지고 있습니다. 구체적인 차이점은 다음과 같습니다. 🎜🎜1 필수 플래그 🎜🎜 필수 플래그가 true로 설정된 경우 교환기가 자체 유형 및 메시지 RouteKey를 기반으로 자격을 갖춘 대기열을 찾을 수 없는 경우 basic.return 메서드가 호출되어 또는 필수를 false로 설정하면 위 상황에서 브로커가 메시지를 직접 버립니다. 🎜🎜2. 즉시 플래그 비트 🎜🎜즉시 플래그 비트가 true로 설정된 경우 Exchange에서 메시지를 대기열로 라우팅할 때 해당 대기열에 소비자가 없는 것으로 확인되면 메시지는 대기줄. 메시지 RouteKey와 연결된 모든 대기열(하나 이상)에 소비자가 없으면 메시지는 basic.return 메서드를 통해 생산자에게 반환됩니다. 🎜

위 내용은 RabbitMQ 설치(Windows) 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

<gum> : Bubble Gum Simulator Infinity- 로얄 키를 얻고 사용하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
Nordhold : Fusion System, 설명
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora : 마녀 트리의 속삭임 - Grappling Hook 잠금 해제 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Xiaohongshu 메모를 삭제하는 방법 Xiaohongshu 메모를 삭제하는 방법 Mar 21, 2024 pm 08:12 PM

Xiaohongshu 메모를 삭제하는 방법 Xiaohongshu 앱에서 메모를 편집할 수 있습니다. 다음으로 편집기는 Xiaohongshu 메모 삭제 방법에 대한 사용자 사진과 텍스트를 가져옵니다. 보세요! Xiaohongshu 사용 튜토리얼 Xiaohongshu 메모 삭제 방법 1. 먼저 Xiaohongshu 앱을 열고 메인 페이지로 들어가서 오른쪽 하단에 있는 [Me]를 선택하여 특별 영역으로 들어갑니다. 2. 그런 다음 내 영역에서 다음과 같이 메모 페이지를 클릭합니다. 3. 노트 페이지에 들어가서 오른쪽 상단에 있는 [점 3개]를 클릭합니다. 4. 마지막으로 기능 표시줄이 하단에 확장되고 [삭제]를 클릭하여 완료합니다.

pip를 완전히 제거하고 Python을 보다 효율적으로 사용하는 방법을 알아보세요. pip를 완전히 제거하고 Python을 보다 효율적으로 사용하는 방법을 알아보세요. Jan 16, 2024 am 09:01 AM

더 이상 pip가 필요하지 않나요? 와서 pip를 효과적으로 제거하는 방법을 알아보세요! 소개: pip는 Python 패키지를 쉽게 설치, 업그레이드 및 제거할 수 있는 Python의 패키지 관리 도구 중 하나입니다. 그러나 때로는 다른 패키지 관리 도구를 사용하고 싶거나 Python 환경을 완전히 지워야 하기 때문에 pip를 제거해야 할 수도 있습니다. 이 문서에서는 pip를 효율적으로 제거하는 방법을 설명하고 구체적인 코드 예제를 제공합니다. 1. pip 제거 방법 다음은 pip 제거의 두 가지 일반적인 방법을 소개합니다.

Xiaohongshu에 게시한 메모가 누락된 경우 어떻게 해야 합니까? 방금 보낸 메모를 찾을 수 없는 이유는 무엇인가요? Xiaohongshu에 게시한 메모가 누락된 경우 어떻게 해야 합니까? 방금 보낸 메모를 찾을 수 없는 이유는 무엇인가요? Mar 21, 2024 pm 09:30 PM

Xiaohongshu 사용자로서 우리 모두는 게시된 노트가 갑자기 사라지는 상황을 경험해 본 적이 있을 것입니다. 이는 의심할 여지 없이 혼란스럽고 걱정스러운 일입니다. 이런 경우, 우리는 어떻게 해야 합니까? 이번 글에서는 "샤오홍슈에서 발행한 노트가 누락된 경우 어떻게 해야 할까요?"라는 주제를 중심으로 자세한 답변을 드리겠습니다. 1. Xiaohongshu에서 발행한 노트가 누락된 경우 어떻게 해야 합니까? 첫째, 당황하지 마십시오. 메모가 누락된 경우 침착함을 유지하는 것이 중요하며 당황하지 마십시오. 이는 플랫폼 시스템 장애 또는 운영 오류로 인해 발생할 수 있습니다. 출시 기록을 확인하는 것은 쉽습니다. Xiaohongshu 앱을 열고 "나" → "게시" → "모든 출판물"을 클릭하면 자신의 출판 기록을 볼 수 있습니다. 여기에서는 이전에 게시된 메모를 쉽게 찾을 수 있습니다. 3.다시 게시합니다. 발견된 경우

matplotlib의 컬러맵에 대해 자세히 알아보기 matplotlib의 컬러맵에 대해 자세히 알아보기 Jan 09, 2024 pm 03:51 PM

matplotlib 색상표에 대해 자세히 알아보려면 특정 코드 예제가 필요합니다. 1. 소개 matplotlib는 다양한 유형의 차트를 만드는 데 사용할 수 있는 풍부한 그리기 기능 및 도구 세트를 제공합니다. 컬러맵(colormap)은 차트의 색 구성표를 결정하는 matplotlib의 중요한 개념입니다. matplotlib 색상표에 대한 심층적인 연구는 matplotlib의 그리기 기능을 더 잘 익히고 그리기를 더 편리하게 만드는 데 도움이 될 것입니다.

Xiaohongshu의 노트에 제품 링크를 추가하는 방법 Xiaohongshu의 노트에 제품 링크를 추가하는 방법에 대한 튜토리얼 Xiaohongshu의 노트에 제품 링크를 추가하는 방법 Xiaohongshu의 노트에 제품 링크를 추가하는 방법에 대한 튜토리얼 Mar 12, 2024 am 10:40 AM

Xiaohongshu 노트에 제품 링크를 추가하는 방법 Xiaohongshu 앱에서는 사용자가 다양한 콘텐츠를 탐색할 수 있을 뿐만 아니라 쇼핑도 할 수 있기 때문에 이 앱에는 쇼핑 추천 및 좋은 제품 공유에 대한 콘텐츠가 많이 있습니다. 이 앱에서는 일부 쇼핑 경험을 공유하고, 협력할 판매자를 찾고, 메모에 링크를 추가하는 등의 작업도 할 수 있습니다. 이 앱은 편리할 뿐만 아니라 많은 전문가가 만들 수 있기 때문에 많은 사람들이 쇼핑에 기꺼이 이 앱을 사용합니다. 흥미로운 콘텐츠를 탐색하고 자신에게 맞는 의류 제품이 있는지 확인할 수 있습니다. 노트에 제품 링크를 추가하는 방법을 살펴보겠습니다. 샤오홍슈 노트에 제품 링크를 추가하는 방법 휴대폰 데스크톱에서 앱을 엽니다. 앱 홈페이지를 클릭하세요

Pygame 시작하기: 종합적인 설치 및 구성 튜토리얼 Pygame 시작하기: 종합적인 설치 및 구성 튜토리얼 Feb 19, 2024 pm 10:10 PM

처음부터 Pygame 배우기: 전체 설치 및 구성 튜토리얼, 특정 코드 예제 필요 소개: Pygame은 Python 프로그래밍 언어를 사용하여 개발된 오픈 소스 게임 개발 라이브러리로, 개발자가 다양한 유형을 쉽게 만들 수 있도록 풍부한 기능과 도구를 제공합니다. 게임의. 이 기사는 처음부터 Pygame을 배우는 데 도움이 될 것이며, 완전한 설치 및 구성 튜토리얼과 빠른 시작을 위한 특정 코드 예제를 제공할 것입니다. 1부: Python 및 Pygame 설치 먼저 다음 사항을 확인하세요.

C 언어의 매력을 밝히다: 프로그래머의 잠재력을 발견하다 C 언어의 매력을 밝히다: 프로그래머의 잠재력을 발견하다 Feb 24, 2024 pm 11:21 PM

C 언어 학습의 매력: 프로그래머의 잠재력을 여는 것 지속적인 기술 발전으로 컴퓨터 프로그래밍은 많은 주목을 받는 분야가 되었습니다. 많은 프로그래밍 언어 중에서 C 언어는 항상 프로그래머들에게 사랑을 받아 왔습니다. C 언어의 단순성, 효율성 및 폭넓은 적용 덕분에 많은 사람들이 프로그래밍 분야에 입문하는 첫 번째 단계는 C 언어입니다. 이 기사에서는 C 언어 학습의 매력과 C 언어 학습을 통해 프로그래머의 잠재력을 발휘하는 방법에 대해 설명합니다. 우선, C 언어 학습의 매력은 단순함에 있습니다. C언어는 다른 프로그래밍 언어에 비해

워드에서 근수를 입력하는 방법을 함께 알아볼까요? 워드에서 근수를 입력하는 방법을 함께 알아볼까요? Mar 19, 2024 pm 08:52 PM

Word에서 텍스트 내용을 편집할 때 수식 기호를 입력해야 하는 경우가 있습니다. 어떤 사람들은 Word에서 근수를 입력하는 방법을 모르기 때문에 편집자에게 Word에서 근수를 입력하는 방법에 대한 튜토리얼을 친구들과 공유해달라고 요청했습니다. 그것이 내 친구들에게 도움이 되기를 바랍니다. 먼저 컴퓨터에서 Word 소프트웨어를 연 다음 편집하려는 파일을 열고 루트 기호를 삽입해야 하는 위치로 커서를 이동합니다. 아래 그림 예를 참조하세요. 2. [삽입]을 선택한 후, 기호에서 [수식]을 선택하세요. 아래 그림의 빨간색 원과 같이 3. 아래의 [새 수식 삽입]을 선택하세요. 아래 그림의 빨간색 원과 같이 4. [부수]를 선택한 후 해당 부수를 선택합니다. 아래 그림의 빨간색 원에 표시된 대로:

See all articles