blob: bc611444208cccbb462cddc894db198b183ad07a [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Apache Flink: 数据流上的有状态计算</title>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<!-- Bootstrap -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<link rel="stylesheet" href="/css/flink.css">
<link rel="stylesheet" href="/css/syntax.css">
<!-- Blog RSS feed -->
<link href="/blog/feed.xml" rel="alternate" type="application/rss+xml" title="Apache Flink Blog: RSS feed" />
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<!-- We need to load Jquery in the header for custom google analytics event tracking-->
<script src="/js/jquery.min.js"></script>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Main content. -->
<div class="container">
<div class="row">
<div id="sidebar" class="col-sm-3">
<!-- Top navbar. -->
<nav class="navbar navbar-default">
<!-- The logo. -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="navbar-logo">
<a href="/zh/">
<img alt="Apache Flink" src="/img/flink-header-logo.svg" width="147px" height="73px">
</a>
</div>
</div><!-- /.navbar-header -->
<!-- The navigation links. -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-main">
<!-- First menu section explains visitors what Flink is -->
<!-- What is Stream Processing? -->
<!--
<li><a href="/zh/streamprocessing1.html">What is Stream Processing?</a></li>
-->
<!-- What is Flink? -->
<li><a href="/zh/flink-architecture.html">Apache Flink 是什么?</a></li>
<!-- What is Stateful Functions? -->
<li><a href="/zh/stateful-functions.html">What is Stateful Functions?</a></li>
<!-- Use cases -->
<li><a href="/zh/usecases.html">应用场景</a></li>
<!-- Powered by -->
<li><a href="/zh/poweredby.html">Flink 用户</a></li>
&nbsp;
<!-- Second menu section aims to support Flink users -->
<!-- Downloads -->
<li><a href="/zh/downloads.html">下载</a></li>
<!-- Getting Started -->
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">教程<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="https://ci.apache.org/projects/flink/flink-docs-release-1.10/zh/getting-started/index.html" target="_blank">With Flink <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li><a href="https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.0/getting-started/project-setup.html" target="_blank">With Flink Stateful Functions <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li><a href="/zh/training.html">Training Course</a></li>
</ul>
</li>
<!-- Documentation -->
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">文档<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="https://ci.apache.org/projects/flink/flink-docs-release-1.10" target="_blank">Flink 1.10 (Latest stable release) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li><a href="https://ci.apache.org/projects/flink/flink-docs-master" target="_blank">Flink Master (Latest Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li><a href="https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.0" target="_blank">Flink Stateful Functions 2.0 (Latest stable release) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li><a href="https://ci.apache.org/projects/flink/flink-statefun-docs-master" target="_blank">Flink Stateful Functions Master (Latest Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
</ul>
</li>
<!-- getting help -->
<li><a href="/zh/gettinghelp.html">获取帮助</a></li>
<!-- Blog -->
<li><a href="/blog/"><b>Flink 博客</b></a></li>
<!-- Flink-packages -->
<li>
<a href="https://flink-packages.org" target="_blank">flink-packages.org <small><span class="glyphicon glyphicon-new-window"></span></small></a>
</li>
&nbsp;
<!-- Third menu section aim to support community and contributors -->
<!-- Community -->
<li><a href="/zh/community.html">社区 &amp; 项目信息</a></li>
<!-- Roadmap -->
<li><a href="/zh/roadmap.html">开发计划</a></li>
<!-- Contribute -->
<li><a href="/zh/contributing/how-to-contribute.html">如何参与贡献</a></li>
<!-- GitHub -->
<li>
<a href="https://github.com/apache/flink" target="_blank">Flink on GitHub <small><span class="glyphicon glyphicon-new-window"></span></small></a>
</li>
&nbsp;
<!-- Language Switcher -->
<li>
<a href="/">English</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-bottom">
<hr />
<!-- Twitter -->
<li><a href="https://twitter.com/apacheflink" target="_blank">@ApacheFlink <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<!-- Visualizer -->
<li class=" hidden-md hidden-sm"><a href="/visualizer/" target="_blank">Plan Visualizer <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<hr />
<li><a href="https://apache.org" target="_blank">Apache Software Foundation <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li>
<style>
.smalllinks:link {
display: inline-block !important; background: none; padding-top: 0px; padding-bottom: 0px; padding-right: 0px; min-width: 75px;
}
</style>
<a class="smalllinks" href="https://www.apache.org/licenses/" target="_blank">License</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
<a class="smalllinks" href="https://www.apache.org/security/" target="_blank">Security</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
<a class="smalllinks" href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Donate</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
<a class="smalllinks" href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
</li>
</ul>
</div><!-- /.navbar-collapse -->
</nav>
</div>
<div class="col-sm-9">
<div class="row-fluid">
<div class="col-sm-12">
<p class="lead">
<strong>Apache Flink<sup>®</sup> - 数据流上的有状态计算</strong>
</p>
</div>
<div class="col-sm-12">
<hr />
</div>
</div>
<!-- High-level architecture figure -->
<div class="row front-graphic">
<hr />
<img src="/img/flink-home-graphic.png" width="800px" />
</div>
<!-- Feature grid -->
<!--
<div class="row">
<div class="col-sm-12">
<hr />
<h2><a href="/zh/features.html">Features</a></h2>
</div>
</div>
-->
<div class="row">
<div class="col-sm-4">
<div class="panel panel-default">
<div class="panel-heading">
<span class="glyphicon glyphicon-th"></span> <b>所有流式场景</b>
</div>
<div class="panel-body">
<ul style="font-size: small;">
<li>事件驱动应用</li>
<li>流批分析</li>
<li>数据管道 &amp; ETL</li>
</ul>
<a href="/zh/usecases.html">了解更多</a>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="panel panel-default">
<div class="panel-heading">
<span class="glyphicon glyphicon-ok"></span> <b>正确性保证</b>
</div>
<div class="panel-body">
<ul style="font-size: small;">
<li>Exactly-once 状态一致性</li>
<li>事件时间处理</li>
<li>成熟的迟到数据处理</li>
</ul>
<a href="/zh/flink-applications.html#building-blocks-for-streaming-applications">了解更多</a>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="panel panel-default">
<div class="panel-heading">
<span class="glyphicon glyphicon glyphicon-sort-by-attributes"></span> <b>分层 API</b>
</div>
<div class="panel-body">
<ul style="font-size: small;">
<li>SQL on Stream &amp; Batch Data</li>
<li>DataStream API &amp; DataSet API</li>
<li>ProcessFunction (Time &amp; State)</li>
</ul>
<a href="/zh/flink-applications.html#layered-apis">了解更多</a>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="panel panel-default">
<div class="panel-heading">
<span class="glyphicon glyphicon-dashboard"></span> <b>聚焦运维</b>
</div>
<div class="panel-body">
<ul style="font-size: small;">
<li>灵活部署</li>
<li>高可用</li>
<li>保存点</li>
</ul>
<a href="/zh/flink-operations.html">了解更多</a>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="panel panel-default">
<div class="panel-heading">
<span class="glyphicon glyphicon-fullscreen"></span> <b>大规模计算</b>
</div>
<div class="panel-body">
<ul style="font-size: small;">
<li>水平扩展架构</li>
<li>支持超大状态</li>
<li>增量检查点机制</li>
</ul>
<a href="/zh/flink-architecture.html#run-applications-at-any-scale">了解更多</a>
</div>
</div>
</div>
<div class="col-sm-4">
<div class="panel panel-default">
<div class="panel-heading">
<span class="glyphicon glyphicon-flash"></span> <b>性能卓越</b>
</div>
<div class="panel-body">
<ul style="font-size: small;">
<li>低延迟</li>
<li>高吞吐</li>
<li>内存计算</li>
</ul>
<a href="/zh/flink-architecture.html#leverage-in-memory-performance">了解更多</a>
</div>
</div>
</div>
</div>
<!-- Powered by section -->
<div class="row">
<div class="col-sm-12">
<br />
<h2><a href="/zh/poweredby.html">Apache Flink 用户</a></h2>
<div class="jcarousel">
<ul>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/alibaba-logo.png" width="175" alt="Alibaba" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/aws-logo.png" width="175" alt="AWS" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/capital-one-logo.png" width="175" alt="Capital One" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/uber-logo.png" width="175" alt="Uber" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/bettercloud-logo.png" width="175" alt="BetterCloud" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/bouygues-logo.jpg" width="175" alt="Bouygues" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/comcast-logo.png" width="175" alt="Comcast" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/criteo-logo.png" width="175" alt="Criteo" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/didi-logo.png" width="175" alt="Didi" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/dtrb-logo.png" width="175" alt="Drivetribe" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/ebay-logo.png" width="175" alt="Ebay" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/ericsson-logo.png" width="175" alt="Ericsson" />
</a></div>
</li>
<li>
<div><a href="/poweredby.html">
<img src="/img/poweredby/gojek-logo.png" width="175" alt="Gojek" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/huawei-logo.png" width="175" alt="Huawei" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/lyft-logo.png" width="175" alt="Lyft" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/king-logo.png" width="175" alt="King" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/klaviyo-logo.png" width="175" alt="Klaviyo" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/kuaishou-logo.jpg" width="175" alt="Kuaishou" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/mediamath-logo.png" width="175" alt="MediaMath" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/mux-logo.png" width="175" alt="Mux" />
</a></div>
</li>
<li>
<div><a href="/poweredby.html">
<img src="/img/poweredby/oppo-logo.png" width="175" alt="OPPO" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/otto-group-logo.png" width="175" alt="Otto Group" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/ovh-logo.png" width="175" alt="OVH" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/razorpay-logo.png" width="175" alt="Razorpay" />
</a></div>
</li>
<li>
<div><a href="/poweredby.html">
<img src="/img/poweredby/pinterest-logo.png" width="175" alt="Pinterest" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/researchgate-logo.png" width="175" alt="ResearchGate" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/sktelecom-logo.png" width="175" alt="SK telecom" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/telefonica-next-logo.png" width="175" alt="Telefonica Next" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/tencent-logo.png" width="175" alt="Tencent" />
</a></div>
</li>
<li>
<div><a href="/poweredby.html">
<img src="/img/poweredby/vip-logo.png" width="175" alt="Vip" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/xiaomi-logo.png" width="175" alt="Xiaomi" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/yelp-logo.png" width="175" alt="Yelp" />
</a></div>
</li>
<li>
<div><a href="/zh/poweredby.html">
<img src="/img/poweredby/zalando-logo.jpg" width="175" alt="Zalando" />
</a></div>
</li>
</ul>
</div>
<a href="#" class="jcarousel-control-prev" data-jcarouselcontrol="true"><span class="glyphicon glyphicon-chevron-left"></span></a>
<a href="#" class="jcarousel-control-next" data-jcarouselcontrol="true"><span class="glyphicon glyphicon-chevron-right"></span></a>
</div>
</div>
<!-- Events section -->
<div class="row">
<div class="col-sm-12">
<hr />
</div>
<div class="col-sm-3">
<h2><a>Upcoming Events</a></h2>
</div>
<div class="col-sm-9">
<!-- Flink Forward -->
<a href="https://flink-forward.org" target="_blank">
<img style="width: 200px; padding-right: 30px" src="/img/flink-forward.png" alt="Flink Forward" />
</a>
<!-- ApacheCon -->
<a href="https://www.apache.org/events/current-event" target="_blank">
<img src="https://www.apache.org/events/current-event-234x60.png" alt="ApacheCon" />
</a>
</div>
</div>
<!-- Updates section -->
<div class="row">
<div class="col-sm-12">
<hr />
</div>
<div class="col-sm-3">
<h2><a href="/blog">最新博客列表</a></h2>
</div>
<div class="col-sm-9">
<dl>
<dt> <a href="/news/2020/05/12/release-1.10.1.html">Apache Flink 1.10.1 Released</a></dt>
<dd><p>The Apache Flink community released the first bugfix version of the Apache Flink 1.10 series.</p>
</dd>
<dt> <a href="/news/2020/05/07/community-update.html">Flink Community Update - May'20</a></dt>
<dd>Can you smell it? It’s release month! This time around, we’re warming up for Flink 1.11 and peeping back to the past month in the Flink community — with the release of Stateful Functions 2.0, a new self-paced Flink training and some efforts to improve the Flink documentation experience.</dd>
<dt> <a href="/news/2020/05/04/season-of-docs.html">Applying to Google Season of Docs 2020</a></dt>
<dd>The Flink community is thrilled to share that the project is applying again to Google Season of Docs (GSoD) this year! If you’re unfamiliar with the program, GSoD is a great initiative organized by Google Open Source to pair technical writers with mentors to work on documentation for open source projects. Does working shoulder to shoulder with the Flink community on documentation sound exciting? We’d love to hear from you!</dd>
<dt> <a href="/news/2020/04/24/release-1.9.3.html">Apache Flink 1.9.3 Released</a></dt>
<dd><p>The Apache Flink community released the third bugfix version of the Apache Flink 1.9 series.</p>
</dd>
<dt> <a href="/news/2020/04/21/memory-management-improvements-flink-1.10.html">Memory Management Improvements with Apache Flink 1.10</a></dt>
<dd>This post discusses the recent changes to the memory model of the Task Managers and configuration options for your Flink applications in Flink 1.10.</dd>
</dl>
</div>
<!-- Scripts section -->
<script type="text/javascript" src="/js/jquery.jcarousel.min.js"></script>
<script type="text/javascript">
$(window).load(function(){
$(function() {
var jcarousel = $('.jcarousel');
jcarousel
.on('jcarousel:reload jcarousel:create', function () {
var carousel = $(this),
width = carousel.innerWidth();
if (width >= 600) {
width = width / 4;
} else if (width >= 350) {
width = width / 3;
}
carousel.jcarousel('items').css('width', Math.ceil(width) + 'px');
})
.jcarousel({
wrap: 'circular',
autostart: true
});
$('.jcarousel-control-prev')
.jcarouselControl({
target: '-=1'
});
$('.jcarousel-control-next')
.jcarouselControl({
target: '+=1'
});
$('.jcarousel-pagination')
.on('jcarouselpagination:active', 'a', function() {
$(this).addClass('active');
})
.on('jcarouselpagination:inactive', 'a', function() {
$(this).removeClass('active');
})
.on('click', function(e) {
e.preventDefault();
})
.jcarouselPagination({
perPage: 1,
item: function(page) {
return '<a href="#' + page + '">' + page + '</a>';
}
});
});
});
</script>
</div>
</div>
</div>
<hr />
<div class="row">
<div class="footer text-center col-sm-12">
<p>Copyright © 2014-2019 <a href="http://apache.org">The Apache Software Foundation</a>. All Rights Reserved.</p>
<p>Apache Flink, Flink®, Apache®, the squirrel logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.</p>
<p><a href="/privacy-policy.html">Privacy Policy</a> &middot; <a href="/blog/feed.xml">RSS feed</a></p>
</div>
</div>
</div><!-- /.container -->
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.matchHeight/0.7.0/jquery.matchHeight-min.js"></script>
<script src="/js/codetabs.js"></script>
<script src="/js/stickysidebar.js"></script>
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-52545728-1', 'auto');
ga('send', 'pageview');
</script>
</body>
</html>