blob: 070b4dab90dc5fcff69a6ab35f1df908df516ed8 [file] [log] [blame]
<!doctype html>
<html lang="en" dir="ltr" class="plugin-pages plugin-id-default">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.4.0">
<title data-rh="true">Features | Apache Pulsar</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://pulsar.apache.org/img/pulsar-social-media-card.png"><meta data-rh="true" name="twitter:image" content="https://pulsar.apache.org/img/pulsar-social-media-card.png"><meta data-rh="true" property="og:url" content="https://pulsar.apache.org/features/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="Features | Apache Pulsar"><meta data-rh="true" name="description" content="Apache Pulsar features overview."><meta data-rh="true" property="og:description" content="Apache Pulsar features overview."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pulsar.apache.org/features/"><link data-rh="true" rel="alternate" href="https://pulsar.apache.org/features/" hreflang="en"><link data-rh="true" rel="alternate" href="https://pulsar.apache.org/features/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://WK2YL0SALL-dsn.algolia.net" crossorigin="anonymous"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache Pulsar RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Pulsar Atom Feed">
<link rel="search" type="application/opensearchdescription+xml" title="Apache Pulsar" href="/opensearch.xml">
<link rel="stylesheet" href="/css/katex-0.13.24.min.css" media="print" onload="this.media=&#39;all&#39;">
<script src="/js/sine-waves.min.js" async></script>
<script src="/js/matomo-agent.js"></script><link rel="stylesheet" href="/assets/css/styles.b0f65ef3.css">
<link rel="preload" href="/assets/js/runtime~main.1d0ed2a7.js" as="script">
<link rel="preload" href="/assets/js/main.e07a0c68.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><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><div class="announcementBar_mb4j" style="background-color:#282826;color:#fff" role="banner"><div class="content_knG7 announcementBarContent_xLdY">
<a class="announcement-bar" href="https://registration.socio.events/e/pulsarvirtualsummiteurope2024" target="_blank">
<div class="announcement-bar__content">
<svg class="announcement-bar__icon">
<svg viewBox="0 0 33 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.5 19.6001H16.1L15.3 29.2001L26.5 12.4H17.06L18.1 2.80005L6.5 19.6001Z" stroke="#F7F7F7" stroke-width="1.5" stroke-linejoin="round"/>
</svg>
</svg>
<span>
Get your free pass for Pulsar Virtual Summit Europe 2024 on May 14, 2024 🗓️
</span>
<svg class="announcement-bar__icon">
<svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="20" height="20" transform="translate(6 6)" fill="white" fill-opacity="0.01"/>
<path d="M17.6667 10.1667L23.5 16.0001M23.5 16.0001L17.6667 21.8334M23.5 16.0001L8.5 16.0001" stroke="white" stroke-linecap="round" stroke-linejoin="round"/>
<rect x="0.5" y="0.5" width="31" height="31" rx="15.5" stroke="white"/>
</svg>
</svg>
</div>
</a>
</div></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="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"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo-black.svg" alt="Apache Pulsar logo" class="themedImage_ToTc themedImage--light_HNdA" height="25" width="127"><img src="/img/logo-black.svg" alt="Apache Pulsar logo" class="themedImage_ToTc themedImage--dark_i4oU" height="25" width="127"></div><b class="navbar__title text--truncate"></b></a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Get Started</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/3.2.x/concepts-overview/">Concepts</a></li><li><a class="dropdown__link" href="/docs/3.2.x/">Quickstart</a></li><li><a class="dropdown__link" href="/ecosystem/">Ecosystem</a></li></ul></div><a class="navbar__item navbar__link" href="/docs/3.2.x/">Docs</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/features/">Features</a><a class="navbar__item navbar__link" href="/use-cases/">Use Cases</a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link community-dropdown">Community</a><ul class="dropdown__menu"><li><a class="dropdown__link scroll-link scroll-welcome" id="scroll-welcome" href="/community/">Welcome</a></li><li><a class="dropdown__link scroll-link scroll-discussions" id="scroll-discussions" href="/community/#section-discussions">Discussions</a></li><li><a class="dropdown__link scroll-link" id="scroll-governance" href="/community/#section-governance">Governance</a></li><li><a class="dropdown__link scroll-link" id="scroll-community" href="/community/#section-community">Meet the Community</a></li><li><a class="dropdown__link scroll-link" id="scroll-contribute" href="/community/#section-contribute">Contribute</a></li><li><a class="dropdown__link" href="/contribute/">Contribution Guide</a></li><li><a href="https://github.com/apache/pulsar/wiki" target="_blank" rel="noopener noreferrer" class="dropdown__link">Wiki</a></li><li><a href="https://github.com/apache/pulsar/issues" target="_blank" rel="noopener noreferrer" class="dropdown__link">Issue Tracking</a></li></ul></div><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Learn</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/blog/">Blog</a></li><li><a class="dropdown__link" href="/books/">Books</a></li><li><a class="dropdown__link" href="/case-studies/">Case Studies</a></li><li><a class="dropdown__link" href="/articles/">Articles</a></li><li><a class="dropdown__link" href="/presentations/">Presentations</a></li><li><a class="dropdown__link" href="/events/">Events</a></li></ul></div></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link navbar_download_button" href="/download/">Download</a><div class="searchBox_ZlJk"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></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="main-wrapper mainWrapper_z2l0"><div class="FeaturesPage_W4uR"><div class="Cards_iEXi"><section class="Intro_D_tD"><h1 class="IntroTextA_N7Hu">Pulsar Features</h1><h2 class="IntroTextB_mvQr">The complete platform for messaging and streaming.</h2><p class="IntroTextC_iSka">The combination of features that makes Apache Pulsar more than just a message broker.</p></section><div><section class="Card_uDiN RapidHorizontalScalabilityCard_sVcF"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"></div><div class="RightColumn_w1wN"><div class="RapidHorizontalScalabilityCardMainContent_bqEt"><h3>Rapid Horizontal Scalability</h3><p>Scales horizontally to handle the increased load. Its unique <a target="_blank" href="https://pulsar.apache.org/docs/concepts-architecture-overview/">design</a> and separate storage layer enable controlling the sudden surge in traffic by scaling out in seconds.</p></div><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div></div></section></div><div><section class="Card_uDiN LowLatencyCard_lLYc"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><div class="LowLatencyCardMainContent_CZim"><h3>Low-latency, messaging and streaming</h3><p>Acknowledge messages individually (RabbitMQ style) or cumulative per partition (i.e., offset-like). Enables use cases such as distributed work queues or order-preserving data streams at massive scales (hundreds of nodes) and low latency (&lt;10ms).</p></div><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div><div class="RightColumn_w1wN"></div></div></section></div><div><section class="Card_uDiN SupportManyTopicsCard_sSl4"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><div class="SupportManyTopicsCardMainContent_RPKm"><h3>Supports up to 1M topics</h3><p>Pulsar&#x27;s unique architecture supports up to 1 million topics in a single cluster. Simplify your architecture by avoiding multiplexing multiple streams into a single topic.</p></div><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div><div class="RightColumn_w1wN"></div></div></section></div><div><section class="Card_uDiN MultiTenancyCard_FFBJ"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><div><h3 class="MultiTenancyCardHeader_pZ32">Multi-tenancy as a first-class citizen</h3><p class="MultiTenancyCardFirstParagraph_xNb1">Maintain one cluster for your entire organization using tenants. Control which user has access across data (namespaces/topics) and actions (produce/consume/…).</p></div><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div><div class="RightColumn_w1wN"></div></div></section></div><div><section class="Card_uDiN LoadBalancingCard_NGTg"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><div class="LoadBalancingCardMainContent_p1w4"><h3>Automatic Load Balancing</h3><p>Add or remove nodes and let Pulsar load balance topic bundles automatically. Hot spotted topic bundles are automatically split and evenly distributed across the brokers.</p></div><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div><div class="RightColumn_w1wN"></div></div></section></div><div><section class="Card_uDiN K8sReadyCard_bQBF"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><div><h3>K8s Ready<br>(Cloud-native)</h3><p>Pulsar was built for the cloud from day one. Both Pulsar and Bookkeeper nodes can scale up quickly as Pulsar is stateless, and Bookkeeper was designed to avoid data reshuffling while still utilizing all newly joined nodes.</p></div><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div><div class="RightColumn_w1wN"></div></div></section></div><div><section class="Card_uDiN GeoReplicationCard_livt"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><div class="GeoReplicationCardMain_Ta57"><h3>Seamless Geo-Replication</h3><p>Protect against complete zone outages using replication across different geographic regions. Flexible and configurable replication strategies across distant Pulsar Clusters. Uniquely supports automatic client failover to healthy clusters.</p></div><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div><div class="RightColumn_w1wN"></div></div></section></div><div><section class="Card_uDiN LanguagesCard_WDDW"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><div class="LanguagesCardMain_ePmJ"><h3>Official multi-language support</h3><p>Officially maintained Pulsar Clients for Java, Go, Python, C++, Node.js, and C#.</p></div><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div><div class="RightColumn_w1wN"></div></div></section></div><div><section class="Card_uDiN TieredStorageCard_zJEe"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><h3>Tiered storage support for unlimited retention<br>(S3/GCS/…)</h3></div><div class="RightColumn_w1wN"><p>Unlimited retention by seamless data offloading from Bookkeeper to blob storage (e.g., S3). Keep high performance with resiliency by keeping warm data both in Bookeeper and S3.</p><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div></div></section></div><div><section class="Card_uDiN SchemaRegistryCard_DYfW"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><h3>Built-in Schema Registry</h3></div><div class="RightColumn_w1wN"><p>Support validating incoming and outgoing data against a topic schema. Future proof by supporting backward and forward compatibility checks for each new schema version.</p><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div></div></section></div><div><section class="Card_uDiN AccessControlCard_FHrT"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><h3>Granular Access Control</h3></div><div class="RightColumn_w1wN"><p>Pulsar supports user authentication with the ability to set access to specific namespaces or topics with limited permissions (consume, produce, etc.)</p><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div></div></section></div><div><section class="Card_uDiN MessagePersistencyCard_fYa2"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><h3>Guaranteed message persistency</h3></div><div class="RightColumn_w1wN"><p>Pulsar writes to Bookkeeper are guaranteed to be written to disk (a.k.a fsync), providing high resiliency to machine failures. It can be disabled to favor higher throughput.</p><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div></div></section></div><div><section class="Card_uDiN SeparateComputeFromStorageCard_oYkp"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><div class="SeparateComputeFromStorageCardMain_eQWG"><h3>Separate Compute from Storage</h3><p style="margin-bottom:2rem">Choose the best instance types for storage and CPU separately due to Pulsar&#x27;s unique architecture. Support massive parallel query engines by a direct read from Bookkeeper.</p></div><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div><div class="RightColumn_w1wN"></div></div></section></div><div><section class="Card_uDiN AdditionalProtocolsCard_PuRo"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><h3>Built to support additional protocols<br>(Kafka, RabbitMQ, …)</h3></div><div class="RightColumn_w1wN"><p>Use popular messaging system clients with Pulsar as the backend, powered by community plugins: Kafka, RabbitMQ, and more. This facilitates moving to Pulsar gradually.</p><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div></div></section></div><div><section class="Card_uDiN ServerlessFunctionsCard_ZjEj"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"></div><div class="RightColumn_w1wN"><div class="ServerlessFunctionsCardMainContent_yvRP"><h3>Serverless Functions</h3><p>Write and deploy functions natively using Pulsar Functions. Process messages using Java, Go, or Python without deploying fully-fledged applications. Kubernetes runtime is bundled.</p></div><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div></div></section></div><div><section class="Card_uDiN ConnectorsCard_wcBG"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><div class="ConnectorsCardMainContent_dxjZ"><h3>Official 3rd party Connectors</h3><p>Write and deploy functions natively using Pulsar Functions. Process messages using Java, Go, or Python without deploying fully-fledged applications. Kubernetes runtime is bundled.</p></div><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div><div class="RightColumn_w1wN"></div></div></section></div><div><section class="Card_uDiN SupportLargeMsgsCard_I3tF"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><div class="SupportLargeMsgsCardMain_DVsX"><h3>Support very large messages.</h3><p>Very large messages are welcomed in Pulsar, using client-side chunking.</p></div><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div><div class="RightColumn_w1wN"></div></div></section></div><div><section class="Card_uDiN DelayedMsgCard_yvtg"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><div class="DelayedMsgCardMain_BORH"><h3>Delayed messaging</h3><p>Write a message with a given delay before it is available for consumption. Great for scheduled tasks and exponential back-off retries.</p></div><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div><div class="RightColumn_w1wN"></div></div></section></div><div><section class="Card_uDiN LargeConnectedCard_Vrgq"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><h3>Supports a Large Number of Connected Consumers</h3></div><div class="RightColumn_w1wN"><p>Supports a large number of concurrently connected consumers to a topic, regardless of partition count.</p><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div></div></section></div><div><section class="Card_uDiN Easy2OperateCard_eRLg"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><h3>Easy to operate Coordination Metadata store</h3></div><div class="RightColumn_w1wN"><p>Zookeeper is just one of the plugins for the metadata store. Quickly isolate metadata-related issues as the system is separated from Pulsar itself. Allows future scalable metadata stores.</p><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div></div></section></div><div><section class="Card_uDiN EasyCard_Gf7b"><div class="Columns_vl0O"><div class="LeftColumn_NaBO"><h3>Easy to Operate</h3></div><div class="RightColumn_w1wN"><p>Built-in REST API and CLI for administrative operations</p><button type="button" class="ShowMoreButton_Y36R">↓ Show more</button></div></div></section></div></div><section class="MoreFeats_Lxqo"><div class="MoreFeatsChild_jTK1"><h2>More Features</h2><div class="MoreFeatsGrandChild_u1G4"><div class="FlexibleMessageContent_OhT7"><p><strong>Flexible message retention</strong><br>By time, size, or unacknowledge size</p></div></div><div class="MoreFeatsGrandChild_u1G4"><div class="TopicCompactionContent_rdxn"><p><strong>Topic compaction</strong><br>Keep only the last of the same key messages.</p></div></div><div class="MoreFeatsGrandChild_u1G4"><div class="MessageDeduplicationContent_b0Qk"><p><strong>Message deduplication</strong><br>Achieve Exactly Once when producing.</p></div></div><div class="MoreFeatsGrandChild_u1G4"><div class="TransactionsContent_Ryhs"><p><strong>Transactions</strong><br>Produce and acknowledge as an atomic operation</p></div></div></div></section><section class="LinkBarFooter_pSzP"><div><div class="LinkBarFooterLeft_cu1X"><p><strong>Ready to start?</strong><br>Explore documentation to get more insights on how pulsar works</p></div><div class="LinkBarFooterRight_F4uw"><div><a href="/docs/3.2.x" class="link_TmZ9"><div class="content_CGnA negativefull_VYg5">Explore docs</div></a></div><div><a href="/case-studies" class="link_TmZ9"><div class="content_CGnA action_qKWe">See case studies</div></a></div></div></div></section></div></div><footer class="footer"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.apache.org/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Foundation<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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"></path></svg></a></li><li class="footer__item"><a href="https://www.apache.org/events/current-event.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Events<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.apache.org/licenses/" target="_blank" rel="noopener noreferrer" class="footer__link-item">License<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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"></path></svg></a></li><li class="footer__item"><a href="https://www.apache.org/foundation/thanks" target="_blank" rel="noopener noreferrer" class="footer__link-item">Thanks<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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"></path></svg></a></li><li class="footer__item"><a href="https://www.apache.org/foundation/sponsorship" target="_blank" rel="noopener noreferrer" class="footer__link-item">Sponsorship<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/security/">Security</a></li><li class="footer__item"><a href="https://www.apache.org/foundation/policies/privacy.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Privacy<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><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"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/contact/">Contact</a></li></ul></div><div class="col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item">
<div class="social-icons">
<a target="_blank" href="https://communityinviter.com/apps/apache-pulsar/apache-pulsar" aria-label="Join the Apache Pulsar Slack workspace">
<img alt="Slack logo" src="/img/slack-white.svg" width="26">
</a>
<a target="_blank" href="https://github.com/apache/pulsar/" aria-label="View the Apache Pulsar project on GitHub">
<img alt="GitHub logo" src="/img/github-white.svg" width="26">
</a>
</div>
</li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a class="footerLogoLink_BH7S" href="/"><img src="/img/pulsar-white.svg" alt="Pulsar Logo" class="themedImage_ToTc themedImage--light_HNdA footer__logo"><img src="/img/pulsar-white.svg" alt="Pulsar Logo" class="themedImage_ToTc themedImage--dark_i4oU footer__logo"></a></div><div class="footer__copyright">
<div>
<img class="footer-apache-logo" src="/img/feather-logo-white.svg" alt="" width="20">
The Apache Software Foundation
</div>
<p>Apache Pulsar is available under the Apache License, version 2.0. Apache Pulsar is an open-source, distributed messaging and streaming platform built for the cloud.</p>
<p>Copyright © 2024 The Apache Software Foundation. All Rights Reserved. Apache, Pulsar, Apache Pulsar, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.</p>
</div></div></div></footer></div>
<script src="/assets/js/runtime~main.1d0ed2a7.js"></script>
<script src="/assets/js/main.e07a0c68.js"></script>
</body>
</html>