PageSourceSearch

https://www.rabbitmq.com/tutorials

html rabbitmq.com collected 2026-09-24 06:04:13 UTC 46,862 bytes, 169 lines download raw bytes

1<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-tutorials docs-version-current docs-doc-page docs-doc-id-index" data-has-hydrated=false><head><meta charset=UTF-8><meta name=generator content="Docusaurus v3.10.2"><title data-rh=true>RabbitMQ Tutorials | RabbitMQ</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"/><meta data-rh=true name=twitter:card content=summary_large_image /><meta data-rh=true property=og:image content=https://www.rabbitmq.com/img/rabbitmq-social-media-card.svg /><meta data-rh=true name=twitter:image content=https://www.rabbitmq.com/img/rabbitmq-social-media-card.svg /><meta data-rh=true property=og:url content=https://www.rabbitmq.com/tutorials /><meta data-rh=true property=og:locale content=en /><meta data-rh=true name=docusaurus_locale content=en /><meta data-rh=true name=docsearch:language content=en /><meta data-rh=true name=docusaurus_version content=current /><meta data-rh=true name=docusaurus_tag content=docs-tutorials-current /><meta data-rh=true name=docsearch:version content=current /><meta data-rh=true name=docsearch:docusaurus_tag content=docs-tutorials-current /><meta data-rh=true property=og:title content="RabbitMQ Tutorials | RabbitMQ"/><meta data-rh=true name=description content="<!--"/><meta data-rh=true property=og:description content="<!--"/><link data-rh=true rel=icon href=/img/rabbitmq-logo.svg /><link data-rh=true rel=canonical href=https://www.rabbitmq.com/tutorials /><link data-rh=true rel=alternate href=https://www.rabbitmq.com/tutorials hreflang=en /><link data-rh=true rel=alternate href=https://www.rabbitmq.com/tutorials hreflang=x-default /><link data-rh=true rel=preconnect href=https://H10VQIW16Y-dsn.algolia.net crossorigin=anonymous />
1<script data-rh=true type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","item":"https://www.rabbitmq.com/tutorials/","name":"Get Started","position":1}]}</script>
1<link rel=alternate type=application/rss+xml href=/blog/rss.xml title="RabbitMQ RSS Feed"><link rel=alternate type=application/atom+xml href=/blog/atom.xml title="RabbitMQ Atom Feed"><link rel=search type=application/opensearchdescription+xml title=RabbitMQ href=/opensearch.xml><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Raleway:400,700">
1<script src=https://cdn.cookielaw.org/scripttemplates/otSDKStub.js data-domain-script=018ee308-473e-754f-b0c2-cbe82d25512f></script>
1<script>var timer;function OptanonWrapper(){}function setGTM(e,t,n,o,r){e[o]=e[o]||[],e[o].push({"gtm.start":new Date().getTime(),event:"gtm.js"});var a=t.getElementsByTagName(n)[0],i=t.createElement(n);i.async=!0,i.src="https://www.googletagmanager.com/gtm.js?id="+r+("dataLayer"!=o?"&l="+o:""),a.parentNode.insertBefore(i,a)}function waitForOnetrustActiveGroups(){document.cookie.indexOf("OptanonConsent")>-1&&document.cookie.indexOf("groups=")>-1?(clearTimeout(timer),setGTM(window,document,"script","dataLayer","GTM-TT84L8K")):timer=setTimeout(waitForOnetrustActiveGroups,250)}document.cookie.indexOf("OptanonConsent")>-1&&document.cookie.indexOf("groups=")>-1?setGTM(window,document,"script","dataLayer","GTM-TT84L8K"):waitForOnetrustActiveGroups()</script>
1<link rel=stylesheet href=/assets/css/styles.f5ada21f.css />
1<script src=/assets/js/runtime~main.9a08ee79.js defer></script>
1<script src=/assets/js/main.f00c997a.js defer></script>
1</head><body><svg style="display: none;"><defs>
2<symbol id=theme-svg-external-link viewBox="0 0 24 24"><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
3</defs></svg>
4<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme-5b4")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script>
4<div id=__docusaurus><div role=region aria-label="Skip to main content"><a class=skipToContent_fXgn href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="theme-layout-navbar navbar navbar--fixed-top"><div class=navbar__inner><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a class=navbar__brand href=/><div class=navbar__logo><img src=/img/rabbitmq-logo-by-tanzu.svg alt=RabbitMQ class="themedComponent_mlkZ themedComponent--light_NVdE"/><img src=/img/rabbitmq-logo-by-tanzu.svg alt=RabbitMQ class="themedComponent_mlkZ themedComponent--dark_xIcU"/></div></a><a aria-current=page class="navbar__item navbar__link navbar__link--active" href=/tutorials>Getting Started</a><a class="navbar__item navbar__link" href=/docs>Docs</a><a class="navbar__item navbar__link" href=/blog>Blog</a><a class="navbar__item navbar__link" href=/contact>Support</a><a class="navbar__item navbar__link" href=/security>Security</a><a class="navbar__item navbar__link" href=/commercial-features>Commercial Features</a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a class=navbar__link aria-haspopup=true aria-expanded=false role=button href=/docs>4.3</a><ul class=dropdown__menu><li class=""><strong>Release series</strong><li><a class=dropdown__link href=/docs/next>Next</a><li><a class=dropdown__link href=/docs>4.3</a><li><a class=dropdown__link href=/docs/4.2>4.2</a><li><a class=dropdown__link href=/docs/4.1>4.1</a><li><a class=dropdown__link href=/docs/4.0>4.0</a><li><a class=dropdown__link href=/docs/3.13>3.13</a></ul></div><a href=https://github.com/rabbitmq/rabbitmq-website target=_blank rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type=button disabled title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_g3eP lightToggleIcon_pyhR"><path fill=currentColor d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"/></svg><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_g3eP darkToggleIcon_wfgR"><path fill=currentColor d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"/></svg><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill=currentColor d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 
41.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"/></svg></button></div><div class=navbarSearchContainer_Bca1><button type=button class="DocSearch DocSearch-Button" aria-label="Search (Meta+k)" aria-keyshortcuts=Meta+k><span class=DocSearch-Button-Container><svg width=20 height=20 class=DocSearch-Search-Icon viewBox="0 0 24 24" aria-hidden=true><circle cx=11 cy=11 r=8 stroke=currentColor fill=none stroke-width=1.4 /><path d="m21 21-4.3-4.3" stroke=currentColor fill=none stroke-linecap=round stroke-linejoin=round /></svg><span class=DocSearch-Button-Placeholder>Search</span></span><span class=DocSearch-Button-Keys></span></button></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class=docsWrapper_hBAB><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type=button></button><div class=docRoot_UBD9><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class=sidebarViewport_aRkj><div class=sidebar_njMd><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current=page href=/tutorials><span class=linkLabel_WmDU>Get Started</span></a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-python><span class=categoryLinkLabel_W154>Python</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-java><span class=categoryLinkLabel_W154>Java</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-java-amqp10><span class=categoryLinkLabel_W154>Java (AMQP 1.0)</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-kotlin><span class=categoryLinkLabel_W154>Kotlin</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-ruby><span class=categoryLinkLabel_W154>Ruby</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-php><span class=categoryLinkLabel_W154>PHP</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-dotnet><span class=categoryLinkLabel_W154>.NET</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-dotnet-amqp10><span class=categoryLinkLabel_W154>.NET (AMQP 1.0)</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-javascript><span class=categoryLinkLabel_W154>JavaScript</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-go><span class=categoryLinkLabel_W154>Go</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-go-amqp10><span class=categoryLinkLabel_W154>Go (AMQP 1.0)</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-elixir><span class=categoryLinkLabel_W154>Elixir</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-swift><span class=categoryLinkLabel_W154>
4Swift</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-spring-amqp><span class=categoryLinkLabel_W154>Spring AMQP</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-java-stream><span class=categoryLinkLabel_W154>Java Stream</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-dotnet-stream><span class=categoryLinkLabel_W154>.NET Stream</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-go-stream><span class=categoryLinkLabel_W154>Go Stream</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-rust-stream><span class=categoryLinkLabel_W154>Rust Stream</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-python-stream><span class=categoryLinkLabel_W154>Python Stream</span></a></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role=button aria-expanded=false href=/tutorials/tutorial-one-javascript-stream><span class=categoryLinkLabel_W154>Node.js Stream</span></a></div></ul></nav></div></div></aside><main class=docMainContainer_TBSr><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_VOVn"><div class=docItemContainer_Djhp><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label=Breadcrumbs><ul class=breadcrumbs><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_YNFT><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>Get Started</span></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type=button class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>RabbitMQ Tutorials</h1></header>
5<p>These tutorials cover the basics of creating messaging
6applications using RabbitMQ.</p>
7<p>You need to have the RabbitMQ server installed to go through the tutorials,
8please see the <a class="" href=/docs/download>installation guide</a> or use the <a href=https://hub.docker.com/_/rabbitmq/ target=_blank rel="noopener noreferrer" class="">community Docker image</a>.</p>
9<p>Executable versions of these tutorials <a href=https://github.com/rabbitmq/rabbitmq-tutorials target=_blank rel="noopener noreferrer" class="">are open source</a>,
10as is <a href=https://github.com/rabbitmq/rabbitmq-website target=_blank rel="noopener noreferrer" class="">this website</a>.</p>
11<p>There are three groups of tutorials:</p>
12<ul>
13<li class=""><a href=#queue-amqp-tutorials class="">RabbitMQ queues with AMQP 1.0</a></li>
14<li class=""><a href=#queue-tutorials class="">RabbitMQ queues with AMQP 0.9.1</a></li>
15<li class=""><a href=#stream-tutorials class="">RabbitMQ streams</a></li>
16</ul>
17<div class="theme-admonition theme-admonition-info admonition_xJq3 alert alert--info"><div class=admonitionHeading_Gvgb><span class=admonitionIcon_Rf37><svg viewBox="0 0 14 16"><path fill-rule=evenodd d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"/></svg></span>info</div><div class=admonitionContent_BuS1><p>These tutorials target RabbitMQ 4.x.</div></div>
18<div class="theme-tabs-container tabs-container tabList__CuJ"><ul role=tablist aria-orientation=horizontal class=tabs><li role=tab tabindex=0 aria-selected=true class="tabs__item tabItem_LNqP tabs__item--active">AMQP 1.0<li role=tab tabindex=-1 aria-selected=false class="tabs__item tabItem_LNqP">AMQP 0-9-1</ul><div class=margin-top--md><div role=tabpanel class=tabItem_Ymn6><h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=queue-amqp-tutorials>Queue tutorials with AMQP 1.0<a href=#queue-amqp-tutorials class=hash-link aria-label="Direct link to Queue tutorials with AMQP 1.0" title="Direct link to Queue tutorials with AMQP 1.0" translate=no>​</a></h3><p>This section covers the modern messaging protocol in RabbitMQ, AMQP 1.0. This protocol works
19out of the box, without enabling any plugin.<table id=tutorials-amqp10><col span=1 style=width:33% /><col span=1 style=width:33% /><col span=1 style=width:33% /><tr><td id=tutorial-one style=vertical-align:top><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=1-hello-world>1. "Hello World!"<a href=#1-hello-world class=hash-link aria-label='Direct link to 1. "Hello World!"' title='Direct link to 1. "Hello World!"' translate=no>​</a></h2><p>The simplest thing that does <em>something</em><ul>
20<li class=""><a class="" href=/tutorials/tutorial-one-java-amqp10>Java</a></li>
21<li class=""><a class="" href=/tutorials/tutorial-one-dotnet-amqp10>C#</a></li>
22<li class=""><a class="" href=/tutorials/tutorial-one-go-amqp10>Go</a></li>
23</ul><td id=tutorial-two style=vertical-align:top><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=2-work-queues>2. Work Queues<a href=#2-work-queues class=hash-link aria-label="Direct link to 2. Work Queues" title="Direct link to 2. Work Queues" translate=no>​</a></h2><p>Distributing tasks among workers (the <a href=http://www.enterpriseintegrationpatterns.com/patterns/messaging/CompetingConsumers.html target=_blank>
23competing consumers pattern</a>)<ul>
24<li class=""><a class="" href=/tutorials/tutorial-two-java-amqp10>Java</a></li>
25<li class=""><a class="" href=/tutorials/tutorial-two-dotnet-amqp10>C#</a></li>
26<li class=""><a class="" href=/tutorials/tutorial-two-go-amqp10>Go</a></li>
27</ul><td id=tutorial-three style=vertical-align:top><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=3-publishsubscribe>3. Publish/Subscribe<a href=#3-publishsubscribe class=hash-link aria-label="Direct link to 3. Publish/Subscribe" title="Direct link to 3. Publish/Subscribe" translate=no>​</a></h2><p>Sending messages to many consumers at once<ul>
28<li class=""><a class="" href=/tutorials/tutorial-three-java-amqp10>Java</a></li>
29<li class=""><a class="" href=/tutorials/tutorial-three-dotnet-amqp10>C#</a></li>
30<li class=""><a class="" href=/tutorials/tutorial-three-go-amqp10>Go</a></li>
31</ul><tr><td id=tutorial-four style=vertical-align:top><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=4-routing>4. Routing<a href=#4-routing class=hash-link aria-label="Direct link to 4. Routing" title="Direct link to 4. Routing" translate=no>​</a></h2><p>Receiving messages selectively<ul>
32<li class=""><a class="" href=/tutorials/tutorial-four-java-amqp10>Java</a></li>
33<li class=""><a class="" href=/tutorials/tutorial-four-dotnet-amqp10>C#</a></li>
34<li class=""><a class="" href=/tutorials/tutorial-four-go-amqp10>Go</a></li>
35</ul><td id=tutorial-five style=vertical-align:top><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=5-topics>5. Topics<a href=#5-topics class=hash-link aria-label="Direct link to 5. Topics" title="Direct link to 5. Topics" translate=no>​</a></h2><p>Receiving messages based on a pattern (topics)<ul>
36<li class=""><a class="" href=/tutorials/tutorial-five-java-amqp10>Java</a></li>
37<li class=""><a class="" href=/tutorials/tutorial-five-dotnet-amqp10>C#</a></li>
38<li class=""><a class="" href=/tutorials/tutorial-five-go-amqp10>Go</a></li>
39</ul><td id=tutorial-six style=vertical-align:top><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=6-rpc>6. RPC<a href=#6-rpc class=hash-link aria-label="Direct link to 6. RPC" title="Direct link to 6. RPC" translate=no>​</a></h2><p><a href=http://www.enterpriseintegrationpatterns.com/patterns/messaging/RequestReply.html target=_blank>Request/reply pattern</a> example<ul>
40<li class=""><a class="" href=/tutorials/tutorial-six-java-amqp10>Java</a></li>
41<li class=""><a class="" href=/tutorials/tutorial-six-dotnet-amqp10>C#</a></li>
42<li class=""><a class="" href=/tutorials/tutorial-six-go-amqp10>Go</a></li>
43</ul></table></div><div role=tabpanel class=tabItem_Ymn6 hidden><h3 class="anchor anchorTargetStickyNavbar_Vzrq" id=queue-tutorials>Queue tutorials<a href=#queue-tutorials class=hash-link aria-label="Direct link to Queue tutorials" title="Direct link to Queue tutorials" translate=no>​</a></h3><p>This section covers the default RabbitMQ protocol, AMQP 0-9-1.<table id=tutorials><col span=1 style=width:33% /><col span=1 style=width:33% /><col span=1 style=width:33% /><tr><td id=tutorial-one style=vertical-align:top><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=1-hello-world-1>1. "Hello World!"<a href=#1-hello-world-1 class=hash-link aria-label='Direct link to 1. "Hello World!"' title='Direct link to 1. "Hello World!"' translate=no>​</a></h2><p>The simplest thing that does <em>something</em><ul>
44<li class=""><a class="" href=/tutorials/tutorial-one-python>Python</a></li>
45<li class=""><a class="" href=/tutorials/tutorial-one-java>Java</a></li>
46<li class=""><a class="" href=/tutorials/tutorial-one-kotlin>Kotlin</a></li>
47<li class=""><a class="" href=/tutorials/tutorial-one-ruby>Ruby</a></li>
48<li class=""><a class="" href=/tutorials/tutorial-one-php>PHP</a></li>
49<li class=""><a class="" href=/tutorials/tutorial-one-dotnet>
49C#</a></li>
50<li class=""><a class="" href=/tutorials/tutorial-one-javascript>JavaScript</a></li>
51<li class=""><a class="" href=/tutorials/tutorial-one-go>Go</a></li>
52<li class=""><a class="" href=/tutorials/tutorial-one-elixir>Elixir</a></li>
53<li class=""><a class="" href=/tutorials/tutorial-one-swift>Swift</a></li>
54<li class=""><a class="" href=/tutorials/tutorial-one-spring-amqp>Spring AMQP</a></li>
55</ul><td id=tutorial-two style=vertical-align:top><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=2-work-queues-1>2. Work Queues<a href=#2-work-queues-1 class=hash-link aria-label="Direct link to 2. Work Queues" title="Direct link to 2. Work Queues" translate=no>​</a></h2><p>Distributing tasks among workers (the <a href=http://www.enterpriseintegrationpatterns.com/patterns/messaging/CompetingConsumers.html target=_blank>competing consumers pattern</a>)<ul>
56<li class=""><a class="" href=/tutorials/tutorial-two-python>Python</a></li>
57<li class=""><a class="" href=/tutorials/tutorial-two-java>Java</a></li>
58<li class=""><a class="" href=/tutorials/tutorial-two-kotlin>Kotlin</a></li>
59<li class=""><a class="" href=/tutorials/tutorial-two-ruby>Ruby</a></li>
60<li class=""><a class="" href=/tutorials/tutorial-two-php>PHP</a></li>
61<li class=""><a class="" href=/tutorials/tutorial-two-dotnet>C#</a></li>
62<li class=""><a class="" href=/tutorials/tutorial-two-javascript>JavaScript</a></li>
63<li class=""><a class="" href=/tutorials/tutorial-two-go>Go</a></li>
64<li class=""><a class="" href=/tutorials/tutorial-two-elixir>Elixir</a></li>
65<li class=""><a class="" href=/tutorials/tutorial-two-swift>Swift</a></li>
66<li class=""><a class="" href=/tutorials/tutorial-two-spring-amqp>Spring AMQP</a></li>
67</ul><td id=tutorial-three style=vertical-align:top><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=3-publishsubscribe-1>3. Publish/Subscribe<a href=#3-publishsubscribe-1 class=hash-link aria-label="Direct link to 3. Publish/Subscribe" title="Direct link to 3. Publish/Subscribe" translate=no>​</a></h2><p>Sending messages to many consumers at once<ul>
68<li class=""><a class="" href=/tutorials/tutorial-three-python>Python</a></li>
69<li class=""><a class="" href=/tutorials/tutorial-three-java>Java</a></li>
70<li class=""><a class="" href=/tutorials/tutorial-three-kotlin>Kotlin</a></li>
71<li class=""><a class="" href=/tutorials/tutorial-three-ruby>Ruby</a></li>
72<li class=""><a class="" href=/tutorials/tutorial-three-php>PHP</a></li>
73<li class=""><a class="" href=/tutorials/tutorial-three-dotnet>C#</a></li>
74<li class=""><a class="" href=/tutorials/tutorial-three-javascript>JavaScript</a></li>
75<li class=""><a class="" href=/tutorials/tutorial-three-go>Go</a></li>
76<li class=""><a class="" href=/tutorials/tutorial-three-elixir>Elixir</a></li>
77<li class=""><a class="" href=/tutorials/tutorial-three-swift>Swift</a></li>
78<li class=""><a class="" href=/tutorials/tutorial-three-spring-amqp>Spring AMQP</a></li>
79</ul><tr><td id=tutorial-four style=vertical-align:top><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=4-routing-1>4. Routing<a href=#4-routing-1 class=hash-link aria-label="Direct link to 4. Routing" title="Direct link to 4. Routing" translate=no>​</a></h2><p>Receiving messages selectively<ul>
80<li class=""><a class="" href=/tutorials/tutorial-four-python>Python</a></li>
81<li class=""><a class="" href=/tutorials/tutorial-four-java>Java</a></li>
82<li class=""><a class="" href=/tutorials/tutorial-four-kotlin>Kotlin</a></li>
83<li class=""><a class="" href=/tutorials/tutorial-four-ruby>Ruby</a></li>
84<li class=""><a class="" href=/tutorials/tutorial-four-php>PHP</a></li>
85<li class=""><a class="" href=/tutorials/tutorial-four-dotnet>
85C#</a></li>
86<li class=""><a class="" href=/tutorials/tutorial-four-javascript>JavaScript</a></li>
87<li class=""><a class="" href=/tutorials/tutorial-four-go>Go</a></li>
88<li class=""><a class="" href=/tutorials/tutorial-four-elixir>Elixir</a></li>
89<li class=""><a class="" href=/tutorials/tutorial-four-swift>Swift</a></li>
90<li class=""><a class="" href=/tutorials/tutorial-four-spring-amqp>Spring AMQP</a></li>
91</ul><td id=tutorial-five style=vertical-align:top><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=5-topics-1>5. Topics<a href=#5-topics-1 class=hash-link aria-label="Direct link to 5. Topics" title="Direct link to 5. Topics" translate=no>​</a></h2><p>Receiving messages based on a pattern (topics)<ul>
92<li class=""><a class="" href=/tutorials/tutorial-five-python>Python</a></li>
93<li class=""><a class="" href=/tutorials/tutorial-five-java>Java</a></li>
94<li class=""><a class="" href=/tutorials/tutorial-five-kotlin>Kotlin</a></li>
95<li class=""><a class="" href=/tutorials/tutorial-five-ruby>Ruby</a></li>
96<li class=""><a class="" href=/tutorials/tutorial-five-php>PHP</a></li>
97<li class=""><a class="" href=/tutorials/tutorial-five-dotnet>C#</a></li>
98<li class=""><a class="" href=/tutorials/tutorial-five-javascript>JavaScript</a></li>
99<li class=""><a class="" href=/tutorials/tutorial-five-go>Go</a></li>
100<li class=""><a class="" href=/tutorials/tutorial-five-elixir>Elixir</a></li>
101<li class=""><a class="" href=/tutorials/tutorial-five-swift>Swift</a></li>
102<li class=""><a class="" href=/tutorials/tutorial-five-spring-amqp>Spring AMQP</a></li>
103</ul><td id=tutorial-six style=vertical-align:top><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=6-rpc-1>6. RPC<a href=#6-rpc-1 class=hash-link aria-label="Direct link to 6. RPC" title="Direct link to 6. RPC" translate=no>​</a></h2><p><a href=http://www.enterpriseintegrationpatterns.com/patterns/messaging/RequestReply.html target=_blank>Request/reply pattern</a> example<ul>
104<li class=""><a class="" href=/tutorials/tutorial-six-python>Python</a></li>
105<li class=""><a class="" href=/tutorials/tutorial-six-java>Java</a></li>
106<li class=""><a class="" href=/tutorials/tutorial-six-kotlin>Kotlin</a></li>
107<li class=""><a class="" href=/tutorials/tutorial-six-ruby>Ruby</a></li>
108<li class=""><a class="" href=/tutorials/tutorial-six-php>PHP</a></li>
109<li class=""><a class="" href=/tutorials/tutorial-six-dotnet>C#</a></li>
110<li class=""><a class="" href=/tutorials/tutorial-six-javascript>JavaScript</a></li>
111<li class=""><a class="" href=/tutorials/tutorial-six-go>Go</a></li>
112<li class=""><a class="" href=/tutorials/tutorial-six-elixir>Elixir</a></li>
113<li class=""><a class="" href=/tutorials/tutorial-six-spring-amqp>Spring AMQP</a></li>
114</ul><tr><td id=tutorial-seven style=vertical-align:top><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=7-publisher-confirms>7. Publisher Confirms<a href=#7-publisher-confirms class=hash-link aria-label="Direct link to 7. Publisher Confirms" title="Direct link to 7. Publisher Confirms" translate=no>​</a></h2><p>Reliable publishing with publisher confirms<ul>
115<li class=""><a class="" href=/tutorials/tutorial-seven-java>Java</a></li>
116<li class=""><a class="" href=/tutorials/tutorial-seven-kotlin>Kotlin</a></li>
117<li class=""><a class="" href=/tutorials/tutorial-seven-ruby>Ruby</a></li>
118<li class=""><a class="" href=/tutorials/tutorial-seven-dotnet>C#</a></li>
119<li class=""><a class="" href=/tutorials/tutorial-seven-php>PHP</a></li>
120<li class=""><a class="" href=/tutorials/tutorial-seven-go>Go</a></li>
121</ul><td class=tutorial-empty><td class=tutorial-empty></table><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=amqp-0-9-1-overview>AMQP 0-9-1 Overview<a href=#amqp-0-9-1-overview class=hash-link aria-label="Direct link to AMQP 0-9-1 Overview" title="Direct link to AMQP 0-9-1 Overview" translate=no>​</a></h2><p>Once you have been through the tutorials (or if you want to
122skip ahead), you may wish to read an
123<a class="" href=/tutorials/amqp-concepts>Introduction to RabbitMQ Concepts</a>
124and take a look at the <a class="" href=/docs/specification>Compatibility and Conformance page</a>
125to find relevant resources to learn more about AMQP 1.0 and AMQP 0-9-1,
126the two core protocols implemented by RabbitMQ.</div></div></div>
127<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=stream-tutorials>Stream tutorials<a href=#stream-tutorials class=hash-link aria-label="Direct link to Stream tutorials" title="Direct link to Stream tutorials" translate=no>​</a></h2>
128<p>This section covers <a class="" href=/docs/streams>RabbitMQ streams</a>.</p>
129<table id=stream-tutorials><col span=1 style=width:33% /><col span=1 style=width:33% /><col span=1 style=width:33% /><tr><td id=tutorial-one style=vertical-align:top><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=1-hello-world-2>1. "Hello World!"<a href=#1-hello-world-2 class=hash-link aria-label='Direct link to 1. "Hello World!"' title='Direct link to 1. "Hello World!"' translate=no>​</a></h2><p>The simplest thing that does <em>something</em><ul>
130<li class=""><a class="" href=/tutorials/tutorial-one-java-stream>Java</a></li>
131<li class=""><a class="" href=/tutorials/tutorial-one-dotnet-stream>
131C#</a></li>
132<li class=""><a class="" href=/tutorials/tutorial-one-go-stream>Go</a></li>
133<li class=""><a class="" href=/tutorials/tutorial-one-python-stream>Python</a></li>
134<li class=""><a class="" href=/tutorials/tutorial-one-rust-stream>Rust</a></li>
135<li class=""><a class="" href=/tutorials/tutorial-one-javascript-stream>Node.js</a></li>
136</ul><td id=tutorial-two style=vertical-align:top><h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=2-offset-tracking>2. Offset Tracking<a href=#2-offset-tracking class=hash-link aria-label="Direct link to 2. Offset Tracking" title="Direct link to 2. Offset Tracking" translate=no>​</a></h2><p>Keep track of message processing<ul>
137<li class=""><a class="" href=/tutorials/tutorial-two-java-stream>Java</a></li>
138<li class=""><a class="" href=/tutorials/tutorial-two-dotnet-stream>C#</a></li>
139<li class=""><a class="" href=/tutorials/tutorial-two-go-stream>Go</a></li>
140<li class=""><a class="" href=/tutorials/tutorial-two-python-stream>Python</a></li>
141<li class=""><a class="" href=/tutorials/tutorial-two-rust-stream>Rust</a></li>
142<li class=""><a class="" href=/tutorials/tutorial-two-javascript-stream>Node.js</a></li>
143</ul></table>
144<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=stream-overview-and-blog-posts>Stream Overview and Blog Posts<a href=#stream-overview-and-blog-posts class=hash-link aria-label="Direct link to Stream Overview and Blog Posts" title="Direct link to Stream Overview and Blog Posts" translate=no>​</a></h2>
145<p>Once you have been through the tutorials (or if you want to
146skip ahead), you may wish to read the
147<a class="" href=/docs/streams>RabbitMQ stream documentation</a>
148and browse our
149<a class="" href=/blog/tags/streams>stream blog posts</a>.</p>
150<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=getting-help>Getting Help<a href=#getting-help class=hash-link aria-label="Direct link to Getting Help" title="Direct link to Getting Help" translate=no>​</a></h2>
151<p>If you have any questions or comments regarding RabbitMQ, feel free to
152ask them on <a href=https://github.com/rabbitmq/rabbitmq-server/discussions target=_blank rel="noopener noreferrer" class="">GitHub Discussion</a> or
153<a href=https://www.rabbitmq.com/discord target=_blank rel="noopener noreferrer" class="">RabbitMQ community Discord server</a>.</p>
154<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=tutorials-in-other-languages>Tutorials in Other Languages<a href=#tutorials-in-other-languages class=hash-link aria-label="Direct link to Tutorials in Other Languages" title="Direct link to Tutorials in Other Languages" translate=no>​</a></h2>
155<p>The tutorials here use a number of popular technologies,
156however, there are <a href=https://github.com/rabbitmq/rabbitmq-tutorials target=_blank rel="noopener noreferrer" class="">ports available</a> for
157many more languages and client libraries, for example:</p>
158<ul>
159<li class="">Rust using <a href=https://github.com/rabbitmq/rabbitmq-tutorials/tree/main/rust-amqprs target=_blank rel="noopener noreferrer" class="">amqprs</a></li>
160<li class="">Rust using <a href=https://github.com/rabbitmq/rabbitmq-tutorials/tree/main/rust-lapin target=_blank rel="noopener noreferrer" class="">Lapin</a></li>
161<li class=""><a href=https://github.com/rabbitmq/rabbitmq-tutorials/tree/main/clojure target=_blank rel="noopener noreferrer" class="">Clojure</a> (using <a href=https://github.com/michaelklishin/langohr target=_blank rel="noopener noreferrer" class="">Langohr</a>)</li>
162<li class=""><a href=https://github.com/rabbitmq/rabbitmq-tutorials/tree/main/erlang target=_blank rel="noopener noreferrer" class="">Erlang</a> (using <a href=https://github.com/rabbitmq/rabbitmq-erlang-client target=_blank rel="noopener noreferrer" class="">RabbitMQ Erlang client</a>)</li>
163<li class=""><a href=https://github.com/rabbitmq/rabbitmq-tutorials/tree/main/haskell target=_blank rel="noopener noreferrer" class="">Haskell</a> (using <a href=http://hackage.haskell.org/package/amqp target=_blank rel="noopener noreferrer" class="">Network.AMQP</a>)</li>
164<li class=""><a href=https://github.com/rabbitmq/rabbitmq-tutorials/tree/main/perl target=_blank rel="noopener noreferrer" class="">Perl</a> (using <a href=https://github.com/cooldaemon/RabbitFoot target=_blank rel="noopener noreferrer" class="">Net::RabbitFoot</a>)</li>
165<li class=""><a href=https://github.com/oylenshpeegul/RabbitMQ-Tutorial-Perl target=_blank rel="noopener noreferrer" class="">Perl</a> (using <a href=http://p3rl.org/Net::AMQP::RabbitMQ target=_blank rel="noopener noreferrer" class="">Net::AMQP::RabbitMQ</a>)</li>
166<li class=""><a href=https://github.com/rabbitmq/rabbitmq-tutorials/tree/main/scala target=_blank rel="noopener noreferrer" class="">Scala</a> (using <a class="" href=/client-libraries/java-api-guide>RabbitMQ Java client</a>)</li>
167</ul>
168<p>We also maintain a list of community-developed <a class="" href=/client-libraries/devtools>clients and developer tools</a>
169for various protocols RabbitMQ supports.</div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col noPrint_WFHX"><a href=https://github.com/rabbitmq/rabbitmq-website/tree/main/tutorials/index.md target=_blank rel="noopener noreferrer" class=theme-edit-this-page><svg fill=currentColor height=20 width=20 viewBox="0 0 40 40" class=iconEdit_Z9Sw aria-hidden=true><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"/></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--next" href=/tutorials/tutorial-one-python><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Hello World</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href=#queue-amqp-tutorials class="table-of-contents__link toc-highlight">Queue tutorials with AMQP 1.0</a><li><a href=#1-hello-world class="table-of-contents__link toc-highlight">1. "Hello World!"</a><li><a href=#2-work-queues class="table-of-contents__link toc-highlight">2. Work Queues</a><li><a href=#3-publishsubscribe class="table-of-contents__link toc-highlight">3. Publish/Subscribe</a><li><a href=#4-routing class="table-of-contents__link toc-highlight">4. Routing</a><li><a href=#5-topics class="table-of-contents__link toc-highlight">5. Topics</a><li><a href=#6-rpc class="table-of-contents__link toc-highlight">6. RPC</a><ul><li><a href=#queue-tutorials class="table-of-contents__link toc-highlight">Queue tutorials</a></ul><li><a href=#1-hello-world-1 class="table-of-contents__link toc-highlight">1. "Hello World!"</a><li><a href=#2-work-queues-1 class="table-of-contents__link toc-highlight">2. Work Queues</a><li><a href=#3-publishsubscribe-1 class="table-of-contents__link toc-highlight">3. Publish/Subscribe</a><li><a href=#4-routing-1 class="table-of-contents__link toc-highlight">4. Routing</a><li><a href=#5-topics-1 class="table-of-contents__link toc-highlight">5. Topics</a><li><a href=#6-rpc-1 class="table-of-contents__link toc-highlight">6. RPC</a><li><a href=#7-publisher-confirms class="table-of-contents__link toc-highlight">7. Publisher Confirms</a><li><a href=#amqp-0-9-1-overview class="table-of-contents__link toc-highlight">AMQP 0-9-1 Overview</a><li><a href=#stream-tutorials class="table-of-contents__link toc-highlight">Stream tutorials</a><li><a href=#1-hello-world-2 class="table-of-contents__link toc-highlight">1. "Hello World!"</a><li><a href=#2-offset-tracking class="table-of-contents__link toc-highlight">2. Offset Tracking</a><li><a href=#stream-overview-and-blog-posts class="table-of-contents__link toc-highlight">Stream Overview and Blog Posts</a><li><a href=#getting-help class="table-of-contents__link toc-highlight">Getting Help</a><li><a href=#tutorials-in-other-languages class="table-of-contents__link toc-highlight">Tutorials in Other Languages</a></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links">
169<div class="theme-layout-footer-column col footer__col"><div class=footer__title>Learn about RabbitMQ</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/tutorials>Getting Started</a><li class=footer__item><a class=footer__link-item href=/docs>Documentation</a><li class=footer__item><a class=footer__link-item href=/blog>Blog</a><li class=footer__item><a class=footer__link-item href=/docs/compare>Compare with Other Brokers</a><li class=footer__item><a class=footer__link-item href=/security>Security</a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Reach out to the RabbitMQ team</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://github.com/rabbitmq target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://github.com/rabbitmq/rabbitmq-server/discussions target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub Discussions<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a class=footer__link-item href="/contact?utm_source=rmq_release-information_tableheader&utm_medium=rmq_website&utm_campaign=tanzu">Long Term Commercial Support</a><li class=footer__item><a class=footer__link-item href=/contact>Contact Us</a><li class=footer__item><a href=https://www.rabbitmq.com/discord target=_blank rel="noopener noreferrer" class=footer__link-item>Discord<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a></ul></div><div class="theme-layout-footer-column col footer__col"><div class=footer__title>Broadcom</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://tanzu.vmware.com/ target=_blank rel="noopener noreferrer" class=footer__link-item>VMware Tanzu<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://www.vmware.com/help/legal.html target=_blank rel="noopener noreferrer" class=footer__link-item>Terms of Use<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a href=https://www.vmware.com/help/privacy.html target=_blank rel="noopener noreferrer" class=footer__link-item>Privacy<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a class=footer__link-item href=/trademark-guidelines>Trademark Guidelines</a><li class=footer__item><a href=https://www.vmware.com/help/privacy/california-privacy-rights.html target=_blank rel="noopener noreferrer" class=footer__link-item>Your California Privacy Rights<svg width=13.5 height=13.5 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li class=footer__item><a class="footer__link-item ot-sdk-show-settings">Cookie Settings</a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2005-2026 Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.</div></div></div></footer></div></body>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.