| <!doctype html> |
| <html lang="en" dir="ltr" class="plugin-pages plugin-id-default" data-has-hydrated="false"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="generator" content="Docusaurus v3.9.2"> |
| <title data-rh="true">Backpressured Streaming - Apache Ignite</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:image" content="https://ignite.apache.org/img/og-pic.png"><meta data-rh="true" property="og:locale" content="en"><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" name="twitter:card" content="summary_large_image"><meta data-rh="true" name="twitter:site" content="@ApacheIgnite"><meta data-rh="true" name="description" content="Apache Ignite provides reactive streaming with automatic backpressure control. DataStreamer delivers high-throughput ingestion while respecting cluster capacity. Integrates with MVCC and transactions for consistent data ingestion."><meta data-rh="true" property="og:title" content="Backpressured Streaming - Apache Ignite"><meta data-rh="true" property="og:type" content="article"><meta data-rh="true" property="og:url" content="https://ignite.apache.org/features/streaming"><meta data-rh="true" property="og:image" content="/img/og-pic.png"><meta data-rh="true" property="og:description" content="Apache Ignite provides reactive streaming with automatic backpressure control. DataStreamer delivers high-throughput ingestion while respecting cluster capacity. Integrates with MVCC and transactions for consistent data ingestion."><link data-rh="true" rel="icon" href="/img/favicon.png"><link data-rh="true" rel="alternate" href="https://ignite.apache.org/features/streaming" hreflang="en"><link data-rh="true" rel="alternate" href="https://ignite.apache.org/features/streaming" hreflang="x-default"><link data-rh="true" rel="canonical" href="https://ignite.apache.org/features/streaming"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache Ignite Blog RSS Feed"> |
| <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Ignite Blog Atom Feed"> |
| <link rel="alternate" type="application/json" href="/blog/feed.json" title="Apache Ignite Blog JSON Feed"><link rel="stylesheet" href="/assets/css/styles.95589e4b.css"> |
| <script src="/assets/js/runtime~main.17b85ad2.js" defer="defer"></script> |
| <script src="/assets/js/main.5fa90125.js" defer="defer"></script> |
| </head> |
| <body class="navigation-with-keyboard"> |
| <svg style="display: none;"><defs> |
| <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> |
| </defs></svg> |
| <script>document.documentElement.setAttribute("data-theme","light"),document.documentElement.setAttribute("data-theme-choice","light"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/img/menu.svg"><link rel="preload" as="image" href="/img/logo-white.svg"><link rel="preload" as="image" href="/img/logo.svg"><link rel="preload" as="image" href="/img/menu/icon-red-rocket.svg"><link rel="preload" as="image" href="/img/menu/icon-db.svg"><link rel="preload" as="image" href="/img/menu/icon-cube.svg"><link rel="preload" as="image" href="/img/menu/icon-folder.svg"><link rel="preload" as="image" href="/img/menu/icon-clip.svg"><link rel="preload" as="image" href="/img/menu/icon-comment.svg"><link rel="preload" as="image" href="/img/menu/icon-puzzle.svg"><link rel="preload" as="image" href="/img/menu/icon-question.svg"><link rel="preload" as="image" href="/img/menu/icon-calendar.svg"><link rel="preload" as="image" href="/img/menu/icon-blog.svg"><link rel="preload" as="image" href="/img/features/hero-bg.svg"><link rel="preload" as="image" href="/img/features/09-streaming.svg"><link rel="preload" as="image" href="/img/features/05-key-value-APIs.svg"><link rel="preload" as="image" href="/img/features/03-distributed-SQL.svg"><link rel="preload" as="image" href="/img/features/02-native-persistence.svg"><link rel="preload" as="image" href="/img/features/04-ACID-transactions.svg"><link rel="preload" as="image" href="/img/features/native-rocket.svg"><link rel="preload" as="image" href="/img/features/native-docs.svg"><link rel="preload" as="image" href="/img/icon-github.svg"><link rel="preload" as="image" href="/img/icon-linkedin.svg"><link rel="preload" as="image" href="/img/icon-twitter.svg"><link rel="preload" as="image" href="/img/icon-meetup-black.png"><link rel="preload" as="image" href="/img/asf-logo-mark.svg"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><header class="hdr_PRsQ hdrWhite_ohIP jsHdrBase"><div class="jsHdrLine"><div class="hdrWrap_QdiD flexi"><button class="hdrBurger_KXBq" aria-label="Toggle mobile menu"><img src="/img/menu.svg" alt=""></button><a href="/" class="hdrLogo_TYDr"><img src="/img/logo-white.svg" alt="Apache Ignite" class="hdrLogoImg_XJLu hdrLogoWhite_U77N"><img src="/img/logo.svg" alt="Apache Ignite" class="hdrLogoImg_XJLu hdrLogoBlack_I8_P"></a><a href="/download" class="button hdrButton_UajW">Download Ignite</a><nav class="hdrmenu_ge0j"><ul class="flexi"><li class="js-hasdrop"><a href="/" class="hdrmenuExpanded_vwJD" data-panel="getStarted">Get Started</a></li><li class="js-hasdrop"><a href="/features/" class="hdrmenuExpanded_vwJD" data-panel="features">Features</a></li><li class="js-hasdrop"><a href="/use-cases" class="hdrmenuExpanded_vwJD" data-panel="useCases">Use Cases</a></li><li class="js-hasdrop"><a href="/community" class="hdrmenuExpanded_vwJD" data-panel="community">Community</a></li><li class="js-hasdrop"><a href="/resources" class="hdrmenuExpanded_vwJD" data-panel="resources">Resources</a></li><li><a href="/blog/" class="">Blog</a></li><li><a href="/docs/" class="">Docs</a></li></ul></nav><div class="dropmenu_DC5b"><div class="dropmenuPanel_jdIV" data-menupanel="getStarted"><div class="container dropmenu1Grid_w4jT"><div class="dropmenu1Buttonwrap_diJw"> </div><div class="dropmenuBox_xgfI dropmenuBoxButtonin_esgj"><a href="/docs/ignite3/3.1.0/getting-started/quick-start" class="dropmenuRedbutton_e7rf dropmenu__redbutton"><img src="/img/menu/icon-red-rocket.svg" alt=""><span>Quick Start Guide</span></a><ul class="dropmenuMenu_zkY2"><li><a href="/resources" class="dropmenuIconitem_qfHe"><span>Developer Resources</span></a></li><li><a href="/resources#training" class="dropmenuIconitem_qfHe"><span>Training and Courses</span></a></li><li><a href="/faq" class="dropmenuIconitem_qfHe"><span>FAQ</span></a></li></ul></div></div></div><div class="dropmenuPanel_jdIV" data-menupanel="features"><div class="container dropmenu2Grid_cvsM"><div class="dropmenuBox_xgfI"><p class="capstext">ARCHITECTURAL BACKBONE</p><ul class="dropmenuMenu_zkY2"><li><a href="/features/architectural-foundation" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-db.svg" alt=""><span>Memory-First + MVCC + Distributed Replication</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">CORE FEATURES</p><ul class="dropmenuMenu_zkY2"><li><a href="/features/storage" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Memory-First Storage</span></a></li><li><a href="/features/acid-transactions" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>ACID Transactions</span></a></li><li><a href="/features/sql" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Access Patterns</span></a></li><li><a href="/features/schema-evolution" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Schema Evolution</span></a></li><li><a href="/features/streaming" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Backpressured Streaming</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">DATA PLACEMENT & PROCESSING</p><ul class="dropmenuMenu_zkY2"><li><a href="/features/data-placement" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Schema-Driven Data Placement</span></a></li><li><a href="/features/compute-apis" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Processing Where Data Lives</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">OPERATIONAL EXCELLENCE</p><ul class="dropmenuMenu_zkY2"><li><a href="/features/coordination" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Coordination That Scales</span></a></li><li><a href="/features/tooling" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Operations Built In</span></a></li><li><a href="/features/multilanguage" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Multi-Language Support</span></a></li></ul></div></div><div class="panelmorelinkwrap_xvmJ container"><a href="/features/" class="panellink_AjDQ">View all</a></div></div><div class="dropmenuPanel_jdIV" data-menupanel="useCases"><div class="container dropmenu2Grid_cvsM"><div class="dropmenuBox_xgfI"><p class="capstext"><a href="/use-cases" class="dropmenuCapslink_xQ5z">PRIMARY USE CASES</a></p><ul class="dropmenuMenu_zkY2"><li><a href="/use-cases/event-stream-processing" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Event Stream Processing</span></a></li><li><a href="/use-cases/microservices-state" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Microservices State Management</span></a></li><li><a href="/use-cases/session-management" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Session Management</span></a></li><li><a href="/use-cases/ai-ml-feature-stores" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>AI/ML Feature Stores</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">ADDITIONAL USE CASES</p><ul class="dropmenuMenu_zkY2"><li><a href="/use-cases/operational-analytics" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Operational Analytics</span></a></li><li><a href="/use-cases/fast-data-marts" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Fast Data Marts</span></a></li><li><a href="/use-cases/iot-time-series" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>IoT and Time-Series Data</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">SUPPORTING PATTERNS</p><ul class="dropmenuMenu_zkY2"><li><a href="/use-cases/digital-integration-hub" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Digital Integration Hub</span></a></li><li><a href="/use-cases/high-performance-computing" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>High-Performance Computing</span></a></li><li><a href="/use-cases/key-value-store" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Key-Value Store</span></a></li><li><a href="/use-cases/in-memory-database" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Database with Memory-First Storage</span></a></li></ul></div></div><div class="panelmorelinkwrap_xvmJ container"><a href="/use-cases" class="panellink_AjDQ">View all</a></div></div><div class="dropmenuPanel_jdIV" data-menupanel="community"><div class="container dropmenu3Grid_VqYa"><div class="dropmenuBox_xgfI"><p class="capstext"><a href="/community" class="dropmenuCapslink_xQ5z">Project Info</a></p><ul class="dropmenuMenu_zkY2"><li><a href="/community#story" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-clip.svg" alt=""><span>Apache Ignite Story</span></a></li><li><a href="/community#community" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-comment.svg" alt=""><span>Meet The Community</span></a></li><li><a href="/community#governance" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-clip.svg" alt=""><span>Project Governance</span></a></li></ul></div><div class="dropmenuBox_xgfI noBorder_FXnb"><ul class="dropmenuMenu_zkY2"><li><a href="/community#contributing" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-puzzle.svg" alt=""><span>Start Contributing</span></a></li><li><a href="/community#channels" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-question.svg" alt=""><span>Get In Touch</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext"><a href="/events" class="dropmenuCapslink_xQ5z">Events</a></p><ul class="dropmenuMenu_zkY2"><li><a href="/events#summit" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-calendar.svg" alt=""><span>Apache Ignite Summit</span></a></li><li><a href="/events#meetups" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-calendar.svg" alt=""><span>Meetups</span></a></li></ul></div><div class="dropmenuBox_xgfI noBorder_FXnb"><ul class="dropmenuMenu_zkY2"><li><a href="/events#upcoming" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-calendar.svg" alt=""><span>Upcoming Events</span></a></li><li><a href="/events#past" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-calendar.svg" alt=""><span>Past Events</span></a></li></ul></div></div></div><div class="dropmenuPanel_jdIV" data-menupanel="resources"><div class="container dropmenu1Grid_w4jT"><div class="dropmenu1Buttonwrap_diJw"> </div><div class="dropmenuBox_xgfI dropmenuBoxButtonin_esgj"><a href="/blog/" class="dropmenuRedbutton_e7rf dropmenu__redbutton blog"><img src="/img/menu/icon-blog.svg" alt=""><span>Blog</span></a><ul class="dropmenuMenu_zkY2"><li><a href="/resources#get-started" class="dropmenuIconitem_qfHe"><span>Get Started</span></a></li><li><a href="/resources#documentation" class="dropmenuIconitem_qfHe"><span>Documentation</span></a></li><li><a href="/resources#source-code" class="dropmenuIconitem_qfHe"><span>Source Code</span></a></li></ul></div><div class="dropmenuBox_xgfI blog"><ul class="dropmenuMenu_zkY2"><li><a href="/resources#training" class="dropmenuIconitem_qfHe"><span>Training and Courses</span></a></li><li><a href="/resources#community" class="dropmenuIconitem_qfHe"><span>Community</span></a></li><li><a href="/faq" class="dropmenuIconitem_qfHe"><span>FAQ</span></a></li></ul></div></div></div></div></div></div></header><div class="dropmenuBack_J_6a"></div><header class="hdrfloat_w9y8 hdrWhite_ohIP jsHdrFloatBase"><div class="jsHdrLine"><div class="hdrWrap_QdiD flexi"><button class="hdrBurger_KXBq" aria-label="Toggle mobile menu"><img src="/img/menu.svg" alt=""></button><a href="/" class="hdrLogo_TYDr"><img src="/img/logo.svg" alt="Apache Ignite" class="hdrLogoImg_XJLu"></a><a href="/download" class="button hdrButton_UajW">Download Ignite</a><nav class="hdrmenu_ge0j"><ul class="flexi"><li class="js-hasdrop"><a href="/" class="hdrmenuExpanded_vwJD" data-panel="getStarted">Get Started</a></li><li class="js-hasdrop"><a href="/features/" class="hdrmenuExpanded_vwJD" data-panel="features">Features</a></li><li class="js-hasdrop"><a href="/use-cases" class="hdrmenuExpanded_vwJD" data-panel="useCases">Use Cases</a></li><li class="js-hasdrop"><a href="/community" class="hdrmenuExpanded_vwJD" data-panel="community">Community</a></li><li class="js-hasdrop"><a href="/resources" class="hdrmenuExpanded_vwJD" data-panel="resources">Resources</a></li><li><a href="/blog/" class="">Blog</a></li><li><a href="/docs/" class="">Docs</a></li></ul></nav><div class="dropmenu_DC5b"><div class="dropmenuPanel_jdIV" data-menupanel="getStarted"><div class="container dropmenu1Grid_w4jT"><div class="dropmenu1Buttonwrap_diJw"> </div><div class="dropmenuBox_xgfI dropmenuBoxButtonin_esgj"><a href="/docs/ignite3/3.1.0/getting-started/quick-start" class="dropmenuRedbutton_e7rf dropmenu__redbutton"><img src="/img/menu/icon-red-rocket.svg" alt=""><span>Quick Start Guide</span></a><ul class="dropmenuMenu_zkY2"><li><a href="/resources" class="dropmenuIconitem_qfHe"><span>Developer Resources</span></a></li><li><a href="/resources#training" class="dropmenuIconitem_qfHe"><span>Training and Courses</span></a></li><li><a href="/faq" class="dropmenuIconitem_qfHe"><span>FAQ</span></a></li></ul></div></div></div><div class="dropmenuPanel_jdIV" data-menupanel="features"><div class="container dropmenu2Grid_cvsM"><div class="dropmenuBox_xgfI"><p class="capstext">ARCHITECTURAL BACKBONE</p><ul class="dropmenuMenu_zkY2"><li><a href="/features/architectural-foundation" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-db.svg" alt=""><span>Memory-First + MVCC + Distributed Replication</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">CORE FEATURES</p><ul class="dropmenuMenu_zkY2"><li><a href="/features/storage" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Memory-First Storage</span></a></li><li><a href="/features/acid-transactions" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>ACID Transactions</span></a></li><li><a href="/features/sql" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Access Patterns</span></a></li><li><a href="/features/schema-evolution" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Schema Evolution</span></a></li><li><a href="/features/streaming" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Backpressured Streaming</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">DATA PLACEMENT & PROCESSING</p><ul class="dropmenuMenu_zkY2"><li><a href="/features/data-placement" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Schema-Driven Data Placement</span></a></li><li><a href="/features/compute-apis" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Processing Where Data Lives</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">OPERATIONAL EXCELLENCE</p><ul class="dropmenuMenu_zkY2"><li><a href="/features/coordination" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Coordination That Scales</span></a></li><li><a href="/features/tooling" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Operations Built In</span></a></li><li><a href="/features/multilanguage" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-cube.svg" alt=""><span>Multi-Language Support</span></a></li></ul></div></div><div class="panelmorelinkwrap_xvmJ container"><a href="/features/" class="panellink_AjDQ">View all</a></div></div><div class="dropmenuPanel_jdIV" data-menupanel="useCases"><div class="container dropmenu2Grid_cvsM"><div class="dropmenuBox_xgfI"><p class="capstext"><a href="/use-cases" class="dropmenuCapslink_xQ5z">PRIMARY USE CASES</a></p><ul class="dropmenuMenu_zkY2"><li><a href="/use-cases/event-stream-processing" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Event Stream Processing</span></a></li><li><a href="/use-cases/microservices-state" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Microservices State Management</span></a></li><li><a href="/use-cases/session-management" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Session Management</span></a></li><li><a href="/use-cases/ai-ml-feature-stores" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>AI/ML Feature Stores</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">ADDITIONAL USE CASES</p><ul class="dropmenuMenu_zkY2"><li><a href="/use-cases/operational-analytics" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Operational Analytics</span></a></li><li><a href="/use-cases/fast-data-marts" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Fast Data Marts</span></a></li><li><a href="/use-cases/iot-time-series" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>IoT and Time-Series Data</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext">SUPPORTING PATTERNS</p><ul class="dropmenuMenu_zkY2"><li><a href="/use-cases/digital-integration-hub" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Digital Integration Hub</span></a></li><li><a href="/use-cases/high-performance-computing" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>High-Performance Computing</span></a></li><li><a href="/use-cases/key-value-store" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Key-Value Store</span></a></li><li><a href="/use-cases/in-memory-database" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-folder.svg" alt=""><span>Database with Memory-First Storage</span></a></li></ul></div></div><div class="panelmorelinkwrap_xvmJ container"><a href="/use-cases" class="panellink_AjDQ">View all</a></div></div><div class="dropmenuPanel_jdIV" data-menupanel="community"><div class="container dropmenu3Grid_VqYa"><div class="dropmenuBox_xgfI"><p class="capstext"><a href="/community" class="dropmenuCapslink_xQ5z">Project Info</a></p><ul class="dropmenuMenu_zkY2"><li><a href="/community#story" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-clip.svg" alt=""><span>Apache Ignite Story</span></a></li><li><a href="/community#community" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-comment.svg" alt=""><span>Meet The Community</span></a></li><li><a href="/community#governance" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-clip.svg" alt=""><span>Project Governance</span></a></li></ul></div><div class="dropmenuBox_xgfI noBorder_FXnb"><ul class="dropmenuMenu_zkY2"><li><a href="/community#contributing" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-puzzle.svg" alt=""><span>Start Contributing</span></a></li><li><a href="/community#channels" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-question.svg" alt=""><span>Get In Touch</span></a></li></ul></div><div class="dropmenuBox_xgfI"><p class="capstext"><a href="/events" class="dropmenuCapslink_xQ5z">Events</a></p><ul class="dropmenuMenu_zkY2"><li><a href="/events#summit" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-calendar.svg" alt=""><span>Apache Ignite Summit</span></a></li><li><a href="/events#meetups" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-calendar.svg" alt=""><span>Meetups</span></a></li></ul></div><div class="dropmenuBox_xgfI noBorder_FXnb"><ul class="dropmenuMenu_zkY2"><li><a href="/events#upcoming" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-calendar.svg" alt=""><span>Upcoming Events</span></a></li><li><a href="/events#past" class="dropmenuIconitem_qfHe"><img src="/img/menu/icon-calendar.svg" alt=""><span>Past Events</span></a></li></ul></div></div></div><div class="dropmenuPanel_jdIV" data-menupanel="resources"><div class="container dropmenu1Grid_w4jT"><div class="dropmenu1Buttonwrap_diJw"> </div><div class="dropmenuBox_xgfI dropmenuBoxButtonin_esgj"><a href="/blog/" class="dropmenuRedbutton_e7rf dropmenu__redbutton blog"><img src="/img/menu/icon-blog.svg" alt=""><span>Blog</span></a><ul class="dropmenuMenu_zkY2"><li><a href="/resources#get-started" class="dropmenuIconitem_qfHe"><span>Get Started</span></a></li><li><a href="/resources#documentation" class="dropmenuIconitem_qfHe"><span>Documentation</span></a></li><li><a href="/resources#source-code" class="dropmenuIconitem_qfHe"><span>Source Code</span></a></li></ul></div><div class="dropmenuBox_xgfI blog"><ul class="dropmenuMenu_zkY2"><li><a href="/resources#training" class="dropmenuIconitem_qfHe"><span>Training and Courses</span></a></li><li><a href="/resources#community" class="dropmenuIconitem_qfHe"><span>Community</span></a></li><li><a href="/faq" class="dropmenuIconitem_qfHe"><span>FAQ</span></a></li></ul></div></div></div></div></div></div></header><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><section class="innerhero"><div class="container innerhero__cont"><div class="innerhero__main innerhero__main--long"><div class="innerhero__pre pb-3">Apache Ignite</div><h1 class="h1 innerhero__h1">Backpressured Streaming</h1><div class="innerhero__descr pt-2 h5">Reactive streams with automatic rate coordination</div></div><img class="innerhero__pic innerhero__pic--native" src="/img/features/hero-bg.svg" alt="Backpressured Streaming"></div></section><section class="container pt-5 pb-5"><div class="pt-3 pb-3"><p class="fz20">Apache Ignite provides reactive streaming with automatic backpressure control. DataStreamer delivers high-throughput ingestion while respecting cluster capacity. The system coordinates producer and consumer rates automatically. This prevents memory overflow and maintains cluster stability under high-velocity data streams.</p></div></section><section class="nativepersistence3 container"><h2 class="h4 pb-3">Reactive Streaming with Backpressure</h2><div class="nativepersistence3__block flexi"><div class="nativepersistence3__left"><h3 class="h5">Publisher Interface</h3><p>DataStreamer implements reactive Publisher patterns. Producers publish data items. The system requests items based on cluster capacity. This pull-based approach prevents overwhelming the cluster with data faster than it can process.</p></div><div class="nativepersistence3__right"><h3 class="h5">Automatic Rate Coordination</h3><p>The streaming system signals producers when ready for more data. Producers slow down when cluster capacity decreases. Producers speed up when capacity increases. This dynamic coordination happens automatically without manual tuning.</p></div></div><div class="nativepersistence3__block flexi pt-4"><div class="nativepersistence3__left"><h3 class="h5">Buffer Management</h3><p>DataStreamer maintains internal buffers sized based on cluster capacity. Buffers absorb temporary rate mismatches. The system applies backpressure before buffers overflow. This prevents out-of-memory conditions during ingestion spikes.</p></div><div class="nativepersistence3__right"><h3 class="h5">Flow Control</h3><p>The Publisher interface provides natural flow control. Applications receive signals when the cluster needs more data. Applications pause data generation when backpressure applies. This coordination works across network boundaries.</p></div></div></section><section class="nativepersistence3 container pt-5 pb-5"><h2 class="h4 pb-3">High-Throughput Ingestion</h2><div class="nativepersistence3__block flexi"><div class="nativepersistence3__left"><h3 class="h5">Batching and Buffering</h3><p>DataStreamer groups individual items into batches automatically. Batch sizes adapt to network conditions and cluster load. Larger batches reduce network overhead. Smaller batches reduce latency. The system balances throughput and latency dynamically.</p></div><div class="nativepersistence3__right"><h3 class="h5">Partition-Aware Distribution</h3><p>The streamer routes data items to partition owners directly. Single-hop writes avoid coordinator overhead. Items for the same partition group together in batches. This optimization delivers maximum throughput for partitioned data.</p></div></div><div class="nativepersistence3__block flexi pt-4"><div class="nativepersistence3__left"><h3 class="h5">Parallel Processing</h3><p>DataStreamer processes multiple batches in parallel across cluster nodes. Each node processes its partition data independently. This parallelism scales linearly with cluster size. Adding nodes increases total ingestion throughput proportionally.</p></div><div class="nativepersistence3__right"><h3 class="h5">Memory-First Writes</h3><p>Streamed data writes directly to memory. No disk I/O during ingestion. Replication handles durability through distributed consensus. This memory-first approach delivers the throughput needed for high-velocity streams.</p></div></div></section><section class="nativepersistence3 container pt-5 pb-5"><h2 class="h4 pb-3">Integration with Transactions and MVCC</h2><div class="nativepersistence3__block flexi"><div class="nativepersistence3__left"><h3 class="h5">Transactional Streaming</h3><p>DataStreamer supports transactional writes. Batches commit atomically. Failures trigger automatic rollback. This ensures consistency for streamed data. Applications choose between throughput-optimized non-transactional mode or consistency-optimized transactional mode.</p></div><div class="nativepersistence3__right"><h3 class="h5">MVCC Compatibility</h3><p>Streaming writes create new MVCC versions. Concurrent queries see consistent snapshots. Long-running aggregations don't block streaming ingestion. Readers never block writers. This enables mixed streaming and analytical workloads.</p></div></div><div class="nativepersistence3__block flexi pt-4"><div class="nativepersistence3__left"><h3 class="h5">Upsert Semantics</h3><p>DataStreamer supports upsert operations. Inserts new records. Updates existing records. Applications specify keys for conflict resolution. This handles duplicate events in streaming scenarios without application-level deduplication logic.</p></div><div class="nativepersistence3__right"><h3 class="h5">Ordered Processing</h3><p>The system preserves ordering within partitions. Events for the same key process in order. Events across partitions process in parallel. This ordering guarantee simplifies event stream processing logic.</p></div></div></section><section class="container pt-5 pb-5"><h2 class="h4 pb-4">Use Cases</h2><div class="cardswrap"><div class="usecasecard cardsimple"><div class="cardsimple__icon"><img src="/img/features/09-streaming.svg" alt=""></div><h3 class="cardsimple__title">Event Stream Processing</h3><div class="cardsimple__text">Ingest event streams at high velocity. Process events with transactional guarantees. Update multiple aggregations atomically. Backpressure prevents data loss during spikes. MVCC enables concurrent analytics on streaming data.</div><div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/use-cases/event-stream-processing">View Use Case</a></div></div><div class="usecasecard cardsimple"><div class="cardsimple__icon"><img src="/img/features/05-key-value-APIs.svg" alt=""></div><h3 class="cardsimple__title">IoT Data Ingestion</h3><div class="cardsimple__text">Stream sensor data from millions of devices. Partition-aware routing delivers maximum throughput. Memory-first writes provide minimal latency. Backpressure protects cluster during device bursts. Upsert semantics handle sensor state updates.</div><div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/use-cases/high-performance-computing">View Use Case</a></div></div><div class="usecasecard cardsimple"><div class="cardsimple__icon"><img src="/img/features/03-distributed-SQL.svg" alt=""></div><h3 class="cardsimple__title">Real-Time Aggregations</h3><div class="cardsimple__text">Stream events into base tables. Update materialized aggregations on write. Transactional streaming ensures consistent aggregates. Queries run against current aggregated state. No batch processing delays.</div><div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/use-cases/operational-analytics">View Use Case</a></div></div></div></section><section class="container pt-5 pb-5"><h2 class="h4 pb-4">How Streaming Connects to the Foundation</h2><div class="cardswrap"><div class="usecasecard cardsimple"><div class="cardsimple__icon"><img src="/img/features/02-native-persistence.svg" alt=""></div><h3 class="cardsimple__title">Memory-First Ingestion</h3><div class="cardsimple__text">DataStreamer writes directly to memory without disk I/O. Distributed replication provides durability. This memory-first approach delivers the throughput needed for high-velocity event streams.</div><div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/features/storage">Learn About Storage</a></div></div><div class="usecasecard cardsimple"><div class="cardsimple__icon"><img src="/img/features/04-ACID-transactions.svg" alt=""></div><h3 class="cardsimple__title">Transactional Guarantees</h3><div class="cardsimple__text">Streaming writes support full ACID transactions. Batches commit atomically. MVCC enables concurrent queries during ingestion. This provides consistency without sacrificing streaming throughput.</div><div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/features/acid-transactions">Learn About Transactions</a></div></div><div class="usecasecard cardsimple"><div class="cardsimple__icon"><img src="/img/features/05-key-value-APIs.svg" alt=""></div><h3 class="cardsimple__title">Partition-Aware Routing</h3><div class="cardsimple__text">DataStreamer routes items to partition owners directly. Single-hop writes eliminate coordinator overhead. Items group by partition in batches. This optimization scales linearly with cluster size.</div><div class="cardsimple__bottom"><a href="/docs/ignite3/3.1.0/configure-and-operate/operations/colocation" class="cardsimple__button button button--shadow" target="_blank" rel="noreferrer">Learn About Colocation</a></div></div></div></section><section class="native-bottom container"><div class="native-bottom__grid"><article class="nativebotblock"><div class="h4 nativebotblock__title"><img src="/img/features/native-rocket.svg" alt="" class="nativebotblock__icon"><span>Ready to Start?</span></div><p class="nativebotblock__text">Discover our quick start guide and build your first application in 5-10 minutes</p><a class="nativebotblock__link arrowlink" href="/docs/ignite3/3.1.0/getting-started/quick-start" target="_blank" rel="noreferrer">Quick Start Guide</a></article><article class="nativebotblock nativebotblock--learn"><div class="h4 nativebotblock__title"><img src="/img/features/native-docs.svg" alt="" class="nativebotblock__icon"><span>Read Documentation</span></div><p class="nativebotblock__text">Learn about DataStreamer configuration, batching strategies, and reactive patterns</p><a class="nativebotblock__link arrowlink" href="/docs/ignite3/3.1.0/develop/work-with-data/streaming" target="_blank" rel="noreferrer">Streaming Documentation</a></article></div></section></div><footer class="footer_zvxk"><div class="container footerTop_kHoL"><section class="footer1_gXBV"><a href="/features/" class="footerTitle_QNZB">Features</a><ul class="footerMenu_aBb9"><li><a href="/features/architectural-foundation">Architectural Foundation</a></li><li><a href="/features/storage">Memory-First Storage</a></li><li><a href="/features/acid-transactions">ACID Transactions</a></li><li><a href="/features/sql">Access Patterns</a></li><li><a href="/features/schema-evolution">Schema Evolution</a></li><li><a href="/features/streaming">Backpressured Streaming</a></li><li><a href="/features/data-placement">Schema-Driven Data Placement</a></li><li><a href="/features/compute-apis">Processing Where Data Lives</a></li><li><a href="/features/coordination">Coordination That Scales</a></li><li><a href="/features/tooling">Operations Built In</a></li><li><a href="/features/multilanguage">Multi-Language Support</a></li></ul></section><section class="footer2_UUSM"><a href="/use-cases/" class="footerTitle_QNZB">Use Cases</a><ul class="footerMenu_aBb9"><li><a href="/use-cases/event-stream-processing">Event Stream Processing</a></li><li><a href="/use-cases/microservices-state">Microservices State Management</a></li><li><a href="/use-cases/ai-ml-feature-stores">AI/ML Feature Stores</a></li><li><a href="/use-cases/session-management">Session Management</a></li><li><a href="/use-cases/operational-analytics">Operational Analytics</a></li><li><a href="/use-cases/fast-data-marts">Fast Data Marts</a></li><li><a href="/use-cases/iot-time-series">IoT and Time-Series Data</a></li><li><a href="/use-cases/digital-integration-hub">Digital Integration Hub</a></li><li><a href="/use-cases/high-performance-computing">High-Performance Computing</a></li><li><a href="/use-cases/key-value-store">Key-Value Store</a></li><li><a href="/use-cases/in-memory-database">Database with Memory-First Storage</a></li></ul></section><section class="footer3_JvPG"><a href="/community" class="footerTitle_QNZB">Community</a><a href="/resources" class="footerTitle_QNZB">Resources</a><a href="/events" class="footerTitle_QNZB">Events</a><a href="/blog/" class="footerTitle_QNZB">Blog</a></section><section class="footer4_UOsi"><div class="footer4Item_THtF">Join Our<!-- --> <a href="mailto:dev@ignite.apache.org">Dev Mailing List</a></div><div class="footer4Item_THtF pt-2">Or email the<!-- --> <a href="mailto:user@ignite.apache.org">User Mailing List</a></div><div class="footer4Item_THtF pt-5">Follow Us:</div><div class="footer4Socwrap_gPM5 pt-2"><a href="https://github.com/apache/ignite" target="_blank" rel="noopener noreferrer" class="footer4Soc_Ors5" aria-label="GitHub"><img src="/img/icon-github.svg" alt="GitHub"></a><a href="https://www.linkedin.com/showcase/apache-ignite/" target="_blank" rel="noopener noreferrer" class="footer4Soc_Ors5" aria-label="LinkedIn"><img src="/img/icon-linkedin.svg" alt="LinkedIn"></a><a href="https://twitter.com/apacheignite" target="_blank" rel="noopener noreferrer" class="footer4Soc_Ors5" aria-label="Twitter"><img src="/img/icon-twitter.svg" alt="Twitter"></a><a href="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/" target="_blank" rel="noopener noreferrer" class="footer4Soc_Ors5" aria-label="Meetup"><img src="/img/icon-meetup-black.png" alt="Meetup"></a></div><a href="/docs/ignite3/3.1.0/getting-started/quick-start" class="button footer4Button_aiU8">Start Using Apache Ignite</a></section></div><div class="container footerBot_cgmu"><div style="display:flex;align-items:center;gap:12px"><img src="/img/asf-logo-mark.svg" alt="Apache Software Foundation" style="height:40px;width:auto"><p style="margin:0">© <!-- -->2015<!-- --> - <!-- -->2026<!-- --> <a href="http://www.apache.org/">The Apache Software Foundation</a></p></div><p class="pt1x_QCIC">Apache, Apache Ignite, the Apache oak leaf and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation</p><p class="pt1x_QCIC"><a href="http://apache.org/foundation/policies/privacy.html">Privacy Policy</a></p></div></footer><a class="scrollTop" href="#" aria-label="Scroll to top"><svg class="feather feather-chevron-up" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="18 15 12 9 6 15"></polyline></svg></a></div> |
| </body> |
| </html> |