찾다
백엔드 개발C#.Net 튜토리얼RabbitMQ 기본 개념 및 원리 예제

RabbitMQ 기본 개념 및 원리 예제

Jun 23, 2017 pm 04:35 PM
rabbitmq기반으로설치하다구성

RabbitMQ의 기본 개념과 원리

1.AMQP, Advanced Message Queuing Protocol은 애플리케이션 계층 프로토콜에 대한 개방형 표준이며 메시지 지향 미들웨어용으로 설계되었습니다.

2.RabbitMQ는 오픈 소스 AMQP 구현이며 서버 측은 Erlang 언어로 작성되었습니다.

3.Channel

채널은 RabbitMQ를 다루는 데 있어 가장 중요한 인터페이스입니다. Queue 정의, Exchange 정의, Queue 및 Exchange 바인딩, 뉴스 게시 등 대부분의 비즈니스 작업이 채널 인터페이스에서 완료됩니다. .

4.Exchange (생산자는 메시지를 Exchange(exchange)로 보내고 Exchange는 메시지를 하나 이상의 대기열로 라우팅합니다(또는 이를 삭제합니다). RabbitMQ에서 일반적으로 사용되는 Exchange 유형에는 fanout, direct, topic, headers가 포함됩니다. 4)

5.Queue (RabbitMQ의 내부 개체, 메시지 저장에 사용)

6. 기본 작동 원리

클라이언트(생산자) 보내기 -> 교환(전환 메시지를 해당 대기열에 저장) 다른 유형을 통해)-->Queue

클라이언트(소비자)는 구독을 통해 대기열에 있는 메시지를 소비합니다.

위 기본 개념은 RabbitMQ 기본 개념에 대한 자세한 소개

Windows 시스템에 RabbitMQ 설치

1. erlang 다운로드 및 설치 (저는 otp_win64_19.3 버전을 사용하고 있습니다)

다운로드 주소 (작업에 따라) 시스템이 32비트 또는 64비트를 선택합니다.

2. Rabbitmq-server를 다운로드하고 설치합니다. (저는 Rabbitmq-server-3.6.10 버전을 사용하고 있습니다.)

주소 다운로드

설치 후

를 참조하세요. 설치 디렉터리에서

다음으로 DOS 명령

a를 사용합니다. cd를 sbin 디렉터리로 이동합니다. 내 설치 디렉터리는 D:RabbitMQServerrabbitmq_server-3.6.10sbin입니다. D: Enter, cd RabbitMQServerrabbitmq_server-3.6.10sbin

b. B. 설치는 다음과 같은 명령으로 성공적입니다. 성공, 브라우저에 http://127.0 0.1:15672/

guest 계정 guest 비밀번호를 입력하고 성공적으로 로그인하세요. 조금 기대되시나요?

게스트 계정은 관리자 계정으로 Exchange, Queue, Admin을 추가할 수 있습니다. 그러나 우리는 일반적으로 게스트 계정을 사용하지 않고 계속해서 명령을 사용하여 계정 및 권한을 추가합니다.

d: 사용자 추가:

rabbitmqctl.bat add_user 사용자 이름 비밀번호

e: "최고 관리자" 역할 추가:

rabbitmqctl.bat set_user_tags 사용자 이름 관리자

mymq 계정도 슈퍼 관리자로서 가상 호스트에 접근 가능: 접근 불가, 아직 접근할 수 없는 가상 머신을 확인한 후 가상 머신을 추가할 수 있습니다.

f: 가상 머신 추가: rabbitmqctl add_vhost vhostName

다음으로, 계정을 가상 머신에 바인딩합니다.

g: 가상 머신 및 사용자 권한 정의:

rabbitmqctl set_permissions -p 가상 머신 이름 계정 이름 ".*" ".*" ".*"

h: 습관적으로 게스트를 주로 삭제합니다. 계정: rabbitmqctl.bat delete_user 사용자 이름

자, 관리 페이지에 다시 로그인하시면 모든 것이 정상화되고 실제 전투가 시작됩니다.

EasyNetQ 기본 사용법

프로젝트에 EasyNetQ 설치

EasyNetQ는 RabbitMQ.Client에 의존하므로 프로젝트에 설치됩니다.

뉴스 게시

모델에는 대기열 이름과 Exchange 이름을 정의하는 대기열 기능이 있습니다. 그런 다음 Publish 메서드를 직접 사용하여 모델에서 지정한 스위치를 통해 지정된 큐에 Msg를 푸시합니다.

코드를 실행하고 MQ 관리 페이지를 살펴보세요.

모델이 지정한 TestQueue.Exchange 교환이 생성되었습니다. 유형: 주제, 기능: D. D:Durable은 기본적으로 생성된 스위치가 영구임을 나타냅니다.

메시지가 아직 구독되지 않았기 때문에 해당 대기열을 대기열에서 볼 수 없습니다.

구독 구독 메시지

구독 코드에 왜 잠시(true)를 넣어야 하나요? 콘솔 프로그램은 플래시로 실행되고 실제로 MQ 메시지를 구독할 수 없기 때문에 콘솔 프로그램을 Windows 서비스로 시뮬레이션하는 것이 목적입니다.

실제 개발에서는 일반적으로 Topself를 사용하여 콘솔 프로그램을 Windows 서비스에 게시합니다. 나중에 시간이 나면 Topself에 대한 학습 블로그를 작성하겠습니다.

지금 바로 게시 작업을 반복하여 전체 프로세스를 테스트하세요.

Custom Topic

이 방법으로 메시지는 이름이 Test로 시작하는 모든 대기열 대기열로 전송됩니다.

SendReceive

는 보내기 및 받기를 통해 지정된 대기열에 메시지를 보낼 수 있습니다.

위 내용은 RabbitMQ 기본 개념 및 원리 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
C# 및 .NET 런타임 : 함께 작동하는 방법C# 및 .NET 런타임 : 함께 작동하는 방법Apr 19, 2025 am 12:04 AM

C# 및 .NET 런타임은 개발자가 효율적이고 강력하며 크로스 플랫폼 개발 기능을 강화하기 위해 긴밀히 협력합니다. 1) C#은 .NET 프레임 워크와 완벽하게 통합하도록 설계된 유형 안전 및 객체 지향 프로그래밍 언어입니다. 2) .NET 런타임은 C# 코드 실행을 관리하고, 쓰레기 수집, 유형 안전 및 기타 서비스를 제공하며, 효율적이고 크로스 플랫폼 운영을 보장합니다.

C# .NET 개발 : 시작에 대한 초보자 안내서C# .NET 개발 : 시작에 대한 초보자 안내서Apr 18, 2025 am 12:17 AM

C# .NET 개발을 시작하려면 다음과 같은 것이 필요합니다. 1. C#의 기본 지식과 .NET 프레임 워크의 핵심 개념을 이해하십시오. 2. 변수, 데이터 유형, 제어 구조, 기능 및 클래스의 기본 개념을 마스터하십시오. 3. LINQ 및 비동기 프로그래밍과 같은 C#의 고급 기능을 배우십시오. 4. 일반적인 오류에 대한 디버깅 기술 및 성능 최적화 방법에 익숙해 지십시오. 이러한 단계를 통해 C#.NET의 세계를 점차적으로 침투하고 효율적인 응용 프로그램을 작성할 수 있습니다.

C# 및 .NET : 둘 사이의 관계 이해C# 및 .NET : 둘 사이의 관계 이해Apr 17, 2025 am 12:07 AM

C#과 .NET의 관계는 분리 할 수 ​​없지만 같은 것은 아닙니다. C#은 프로그래밍 언어이며 .NET은 개발 플랫폼입니다. C#은 코드를 작성하고 .NET의 중간 언어 (IL)로 컴파일하고 .NET 런타임 (CLR)에 의해 실행되는 데 사용됩니다.

C# .NET의 지속적인 관련성 : 현재 사용법을 살펴보십시오.C# .NET의 지속적인 관련성 : 현재 사용법을 살펴보십시오.Apr 16, 2025 am 12:07 AM

C#.NET은 여러 응용 프로그램 개발을 지원하는 강력한 도구 및 라이브러리를 제공하기 때문에 여전히 중요합니다. 1) C#은 .NET 프레임 워크를 결합하여 개발 효율적이고 편리하게 만듭니다. 2) C#의 타입 안전 및 쓰레기 수집 메커니즘은 장점을 향상시킵니다. 3) .NET은 크로스 플랫폼 실행 환경과 풍부한 API를 제공하여 개발 유연성을 향상시킵니다.

웹에서 데스크톱으로 : C# .NET의 다양성웹에서 데스크톱으로 : C# .NET의 다양성Apr 15, 2025 am 12:07 AM

C#.NETISVERSATILEFORBOTHWEBBANDDESKTOPDEVENTROMMENT.1) FORWEB, useASP.NETFORRICHINTERFACES.3) FORDESKTOP.3) USEXAMARINFORCROSS-PLATFORMDEEVENTRIMMENT, LINABILEDEV, MACODEDEV, and MACODEDOWS, 및 MACODEDOWS.

C# .net 및 미래 : 신기술에 적응C# .net 및 미래 : 신기술에 적응Apr 14, 2025 am 12:06 AM

C# 및 .NET는 지속적인 업데이트 및 최적화를 통해 신흥 기술의 요구에 적응합니다. 1) C# 9.0 및 .NET5는 레코드 유형 및 성능 최적화를 소개합니다. 2) .NETCORE는 클라우드 네이티브 및 컨테이너화 된 지원을 향상시킵니다. 3) ASP.NETCORE는 최신 웹 기술과 통합됩니다. 4) ML.NET는 기계 학습 및 인공 지능을 지원합니다. 5) 비동기 프로그래밍 및 모범 사례는 성능을 향상시킵니다.

c# .net이 당신에게 적합합니까? 적용 가능성을 평가합니다c# .net이 당신에게 적합합니까? 적용 가능성을 평가합니다Apr 13, 2025 am 12:03 AM

C#.netissuitable forenterprise-levelapplications는 richlibraries, androbustperformance, 그러나 itmaynotbeidealforcross-platformdevelopmentorwhenrawspeediscritical, wherelanguagesslikerustorthightordogrordogrognegrognegrognegrognecross-platformdevelopmentor.

.NET 내의 C# 코드 : 프로그래밍 프로세스 탐색.NET 내의 C# 코드 : 프로그래밍 프로세스 탐색Apr 12, 2025 am 12:02 AM

.NET에서 C#의 프로그래밍 프로세스에는 다음 단계가 포함됩니다. 1) C# 코드 작성, 2) 중간 언어 (IL)로 컴파일하고 .NET 런타임 (CLR)에 의해 실행됩니다. .NET에서 C#의 장점은 현대적인 구문, 강력한 유형 시스템 및 .NET 프레임 워크와의 긴밀한 통합으로 데스크탑 응용 프로그램에서 웹 서비스에 이르기까지 다양한 개발 시나리오에 적합합니다.

See all articles

핫 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.