This is an automated email from the ASF dual-hosted git repository.
jark pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/flink-web.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 558c607 [FLINK-11562] Translate "Flink Operations" page into Chinese
558c607 is described below
commit 558c6073a8b940093420183a3a7ef82649ca4972
Author: daixj <[email protected]>
AuthorDate: Wed Feb 13 14:53:10 2019 +0800
[FLINK-11562] Translate "Flink Operations" page into Chinese
This closes #166
---
content/zh/flink-applications.html | 12 +++----
content/zh/flink-architecture.html | 12 +++----
content/zh/flink-operations.html | 66 +++++++++++++++++++-------------------
flink-applications.zh.md | 12 +++----
flink-architecture.zh.md | 12 +++----
flink-operations.zh.md | 66 +++++++++++++++++++-------------------
6 files changed, 90 insertions(+), 90 deletions(-)
diff --git a/content/zh/flink-applications.html
b/content/zh/flink-applications.html
index df4a229..12edc0d 100644
--- a/content/zh/flink-applications.html
+++ b/content/zh/flink-applications.html
@@ -157,11 +157,11 @@
<div class="row">
<div class="col-sm-12" style="background-color: #f8f8f8;">
<h2>
- <a href="/flink-architecture.html">Architecture</a>
+ <a href="/zh/flink-architecture.html">架构</a>
<span class="glyphicon glyphicon-chevron-right"></span>
- Applications
+ 应用
<span class="glyphicon glyphicon-chevron-right"></span>
- <a href="/flink-operations.html">Operations</a>
+ <a href="/zh/flink-operations.html">运维</a>
</h2>
</div>
</div>
@@ -349,11 +349,11 @@
<div class="row">
<div class="col-sm-12" style="background-color: #f8f8f8;">
<h2>
- <a href="/flink-architecture.html">Architecture</a>
+ <a href="/zh/flink-architecture.html">架构</a>
<span class="glyphicon glyphicon-chevron-right"></span>
- Applications
+ 应用
<span class="glyphicon glyphicon-chevron-right"></span>
- <a href="/flink-operations.html">Operations</a>
+ <a href="/zh/flink-operations.html">运维</a>
</h2>
</div>
</div>
diff --git a/content/zh/flink-architecture.html
b/content/zh/flink-architecture.html
index ca8308d..fb311c5 100644
--- a/content/zh/flink-architecture.html
+++ b/content/zh/flink-architecture.html
@@ -157,11 +157,11 @@
<div class="row">
<div class="col-sm-12" style="background-color: #f8f8f8;">
<h2>
- Architecture
+ 架构
<span class="glyphicon glyphicon-chevron-right"></span>
- <a href="/flink-applications.html">Applications</a>
+ <a href="/zh/flink-applications.html">应用</a>
<span class="glyphicon glyphicon-chevron-right"></span>
- <a href="/flink-operations.html">Operations</a>
+ <a href="/zh/flink-operations.html">运维</a>
</h2>
</div>
</div>
@@ -248,11 +248,11 @@ Flink features two deployment modes for applications, the
*framework mode* and t
<div class="row">
<div class="col-sm-12" style="background-color: #f8f8f8;">
<h2>
- Architecture
+ 架构
<span class="glyphicon glyphicon-chevron-right"></span>
- <a href="/flink-applications.html">Applications</a>
+ <a href="/zh/flink-applications.html">应用</a>
<span class="glyphicon glyphicon-chevron-right"></span>
- <a href="/flink-operations.html">Operations</a>
+ <a href="/zh/flink-operations.html">运维</a>
</h2>
</div>
</div>
diff --git a/content/zh/flink-operations.html b/content/zh/flink-operations.html
index 072f63f..9371bb6 100644
--- a/content/zh/flink-operations.html
+++ b/content/zh/flink-operations.html
@@ -157,61 +157,61 @@
<div class="row">
<div class="col-sm-12" style="background-color: #f8f8f8;">
<h2>
- <a href="/flink-architecture.html">Architecture</a>
+ <a href="/zh/flink-architecture.html">架构</a>
<span class="glyphicon glyphicon-chevron-right"></span>
- <a href="/flink-applications.html">Applications</a>
+ <a href="/zh/flink-applications.html">应用</a>
<span class="glyphicon glyphicon-chevron-right"></span>
- Operations
+ 运维
</h2>
</div>
</div>
<hr />
-<p>Apache Flink is a framework for stateful computations over unbounded and
bounded data streams. Since many streaming applications are designed to run
continuously with minimal downtime, a stream processor must provide excellent
failure recovery, as well as, tooling to monitor and maintain applications
while they are running.</p>
+<p>Apache Flink
是一个针对无界和有界数据流进行有状态计算的框架。由于许多流应用程序旨在以最短的停机时间连续运行,因此流处理器必须提供出色的故障恢复能力,以及在应用程序运行期间进行监控和维护的工具。</p>
-<p>Apache Flink puts a strong focus on the operational aspects of stream
processing. Here, we explain Flink’s failure recovery mechanism and present its
features to manage and supervise running applications.</p>
+<p>Apache Flink 非常注重流数据处理的可运维性。因此在这一小节中,我们将详细介绍 Flink
的故障恢复机制,并介绍其管理和监控应用的功能。</p>
-<h2 id="run-your-applications-non-stop-247">Run Your Applications Non-Stop
24/7</h2>
+<h2 id="section">7 * 24小时稳定运行</h2>
-<p>Machine and process failures are ubiquitous in distributed systems. A
distributed stream processors like Flink must recover from failures in order to
be able to run streaming applications 24/7. Obviously, this does not only mean
to restart an application after a failure but also to ensure that its internal
state remains consistent, such that the application can continue processing as
if the failure had never happened.</p>
+<p>在分布式系统中,服务故障是常有的事,为了保证服务能够7*24小时稳定运行,像Flink这样的流处理器故障恢复机制是必须要有的。显然这就意味着,它(这类流处理器)不仅要能在服务出现故障时候能够重启服务,而且还要当故障发生时,保证能够持久化服务内部各个组件的当前状态,只有这样才能保证在故障恢复时候,服务能够继续正常运行,好像故障就没有发生过一样。</p>
-<p>Flink provides a several features to ensure that applications keep running
and remain consistent:</p>
+<p>Flink通过几下多种机制维护应用可持续运行及其一致性:</p>
<ul>
- <li><strong>Consistent Checkpoints</strong>: Flink’s recovery mechanism is
based on consistent checkpoints of an application’s state. In case of a
failure, the application is restarted and its state is loaded from the latest
checkpoint. In combination with resettable stream sources, this feature can
guarantee <em>exactly-once state consistency</em>.</li>
- <li><strong>Efficient Checkpoints</strong>: Checkpointing the state of an
application can be quite expensive if the application maintains terabytes of
state. Flink’s can perform asynchronous and incremental checkpoints, in order
to keep the impact of checkpoints on the application’s latency SLAs very
small.</li>
- <li><strong>End-to-End Exactly-Once</strong>: Flink features transactional
sinks for specific storage systems that guarantee that data is only written out
exactly once, even in case of failures.</li>
- <li><strong>Integration with Cluster Managers</strong>: Flink is tightly
integrated with cluster managers, such as <a
href="https://hadoop.apache.org">Hadoop YARN</a>, <a
href="https://mesos.apache.org">Mesos</a>, or <a
href="https://kubernetes.io">Kubernetes</a>. When a process fails, a new
process is automatically started to take over its work.</li>
- <li><strong>High-Availability Setup</strong>: Flink feature a
high-availability mode that eliminates all single-points-of-failure. The
HA-mode is based on <a href="https://zookeeper.apache.org">Apache
ZooKeeper</a>, a battle-proven service for reliable distributed
coordination.</li>
+ <li><strong>检查点的一致性</strong>:
Flink的故障恢复机制是通过建立分布式应用服务状态一致性检查点实现的,当有故障产生时,应用服务会重启后,再重新加载上一次成功备份的状态检查点信息。结合可重放的数据源,该特性可保证<em>精确一次(exactly-once)</em>的状态一致性。</li>
+ <li><strong>高效的检查点</strong>:
如果一个应用要维护一个TB级的状态信息,对此应用的状态建立检查点服务的资源开销是很高的,为了减小因检查点服务对应用的延迟性(SLAs服务等级协议)的影响,Flink采用异步及增量的方式构建检查点服务。</li>
+ <li><strong>端到端的精确一次</strong>: Flink
为某些特定的存储支持了事务型输出的功能,及时在发生故障的情况下,也能够保证精确一次的输出。</li>
+ <li><strong>集成多种集群管理服务</strong>: Flink已与多种集群管理服务紧密集成,如 <a
href="https://hadoop.apache.org">Hadoop YARN</a>, <a
href="https://mesos.apache.org">Mesos</a>, 以及 <a
href="https://kubernetes.io">Kubernetes</a>。当集群中某个流程任务失败后,一个新的流程服务会自动启动并替代它继续执行。</li>
+ <li><strong>内置高可用服务</strong>: Flink内置了为解决单点故障问题的高可用性服务模块,此模块是基于<a
href="https://zookeeper.apache.org">Apache ZooKeeper</a> 技术实现的,<a
href="https://zookeeper.apache.org">Apache
ZooKeeper</a>是一种可靠的、交互式的、分布式协调服务组件。</li>
</ul>
-<h2 id="update-migrate-suspend-and-resume-your-applications">Update, Migrate,
Suspend, and Resume Your Applications</h2>
+<h2 id="flink">Flink能够更方便地升级、迁移、暂停、恢复应用服务</h2>
-<p>Streaming applications that power business-critical services need to be
maintained. Bugs need to be fixed and improvements or new features need to be
implemented. However, updating a stateful streaming application is not trivial.
Often one cannot simply stop the applications and restart an fixed or improved
version because one cannot afford to lose the state of the application.</p>
+<p>驱动关键业务服务的流应用是经常需要维护的。比如需要修复系统漏洞,改进功能,或开发新功能。然而升级一个有状态的流应用并不是简单的事情,因为在我们为了升级一个改进后版本而简单停止当前流应用并重启时,我们还不能丢失掉当前流应用的所处于的状态信息。</p>
-<p>Flink’s <em>Savepoints</em> are a unique and powerful feature that solves
the issue of updating stateful applications and many other related challenges.
A savepoint is a consistent snapshot of an application’s state and therefore
very similar to a checkpoint. However in contrast to checkpoints, savepoints
need to be manually triggered and are not automatically removed when an
application is stopped. A savepoint can be used to start a state-compatible
application and initialize its sta [...]
+<p>而Flink的 <em>Savepoint</em> 服务就是为解决升级服务过程中记录流应用状态信息及其相关难题而产生的一种唯一的、强大的组件。一个
Savepoint,就是一个应用服务状态的一致性快照,因此其与checkpoint组件的很相似,但是与checkpoint相比,Savepoint
需要手动触发启动,而且当流应用服务停止时,它并不会自动删除。Savepoint
常被应用于启动一个已含有状态的流服务,并初始化其(备份时)状态。Savepoint 有以下特点:</p>
<ul>
- <li><strong>Application Evolution</strong>: Savepoints can be used to evolve
applications. A fixed or improved version of an application can be restarted
from a savepoint that was taken from a previous version of the application. It
is also possible to start the application from an earlier point in time (given
such a savepoint exists) to repair incorrect results produced by the flawed
version.</li>
- <li><strong>Cluster Migration</strong>: Using savepoints, applications can
be migrated (or cloned) to different clusters.</li>
- <li><strong>Flink Version Updates</strong>: An application can be migrated
to run on a new Flink version using a savepoint.</li>
- <li><strong>Application Scaling</strong>: Savepoints can be used to increase
or decrease the parallelism of an application.</li>
- <li><strong>A/B Tests and What-If Scenarios</strong>: The performance or
quality of two (or more) different versions of an application can be compared
by starting all versions from the same savepoint.</li>
- <li><strong>Pause and Resume</strong>: An application can be paused by
taking a savepoint and stopping it. At any later point in time, the application
can be resumed from the savepoint.</li>
- <li><strong>Archiving</strong>: Savepoints can be archived to be able to
reset the state of an application to an earlier point in time.</li>
+ <li><strong>便于升级应用服务版本</strong>: Savepoint
常在应用版本升级时使用,当前应用的新版本更新升级时,可以根据上一个版本程序记录的 Savepoint 内的服务状态信息来重启服务。它也可能会使用更早的
Savepoint 还原点来重启服务,以便于修复由于有缺陷的程序版本导致的不正确的程序运行结果。</li>
+ <li><strong>方便集群服务移植</strong>: 通过使用 Savepoint,流服务应用可以自由的在不同集群中迁移部署。</li>
+ <li><strong>方便Flink版本升级</strong>: 通过使用
Savepoint,可以使应用服务在升级Flink时,更加安全便捷。</li>
+ <li><strong>增加应用并行服务的扩展性</strong>: Savepoint 也常在增加或减少应用服务集群的并行度时使用。</li>
+ <li><strong>便于A/B测试及假设分析场景对比结果</strong>: 通过把同一应用在使用不同版本的应用程序,基于同一个 Savepoint
还原点启动服务时,可以测试对比2个或多个版本程序的性能及服务质量。</li>
+ <li><strong>暂停和恢复服务</strong>: 一个应用服务可以在新建一个 Savepoint
后再停止服务,以便于后面任何时间点再根据这个实时刷新的 Savepoint 还原点进行恢复服务。</li>
+ <li><strong>归档服务</strong>: Savepoint 还提供还原点的归档服务,以便于用户能够指定时间点的 Savepoint
的服务数据进行重置应用服务的状态,进行恢复服务。</li>
</ul>
-<h2 id="monitor-and-control-your-applications">Monitor and Control Your
Applications</h2>
+<h2 id="section-1">监控和控制应用服务</h2>
-<p>Just like any other service, continuously running streaming applications
need to be supervised and integrated into the operations infrastructure, i.e.,
monitoring and logging services, of an organization. Monitoring helps to
anticipate problems and react ahead of time. Logging enables root-cause
analysis to investigate failures. Finally, easily accessible interfaces to
control running applications are an important feature.</p>
+<p>如其它应用服务一样,持续运行的流应用服务也需要监控及集成到一些基础设施资源管理服务中,例如一个组件的监控服务及日志服务等。监控服务有助于预测问题并提前做出反应,日志服务提供日志记录能够帮助追踪、调查、分析故障发生的根本原因。最后,便捷易用的访问控制应用服务运行的接口也是Flink的一个重要的亮点特征。</p>
-<p>Flink integrates nicely with many common logging and monitoring services
and provides a REST API to control applications and query information.</p>
+<p>Flink与许多常见的日志记录和监视服务集成得很好,并提供了一个REST API来控制应用服务和查询应用信息。具体表现如下:</p>
<ul>
- <li><strong>Web UI</strong>: Flink features a web UI to inspect, monitor,
and debug running applications. It can also be used to submit executions for
execution or cancel them.</li>
- <li><strong>Logging</strong>: Flink implements the popular slf4j logging
interface and integrates with the logging frameworks <a
href="https://logging.apache.org/log4j/2.x/">log4j</a> or <a
href="https://logback.qos.ch/">logback</a>.</li>
- <li><strong>Metrics</strong>: Flink features a sophisticated metrics system
to collect and report system and user-defined metrics. Metrics can be exported
to several reporters, including <a
href="https://en.wikipedia.org/wiki/Java_Management_Extensions">JMX</a>,
Ganglia, <a href="https://graphiteapp.org/">Graphite</a>, <a
href="https://prometheus.io/">Prometheus</a>, <a
href="https://github.com/etsy/statsd">StatsD</a>, <a
href="https://www.datadoghq.com/">Datadog</a>, and <a href="http [...]
- <li><strong>REST API</strong>: Flink exposes a REST API to submit a new
application, take a savepoint of a running application, or cancel an
application. The REST API also exposes meta data and collected metrics of
running or completed applications.</li>
+ <li><strong>Web UI方式</strong>: Flink提供了一个web
UI来观察、监视和调试正在运行的应用服务。并且还可以执行或取消组件或任务的执行。</li>
+ <li><strong>日志集成服务</strong>:Flink实现了流行的slf4j日志接口,并与日志框架<a
href="https://logging.apache.org/log4j/2.x/">log4j</a>或<a
href="https://logback.qos.ch/">logback</a>集成。</li>
+ <li><strong>指标服务</strong>:
Flink提供了一个复杂的度量系统来收集和报告系统和用户定义的度量指标信息。度量信息可以导出到多个报表组件服务,包括 <a
href="https://en.wikipedia.org/wiki/Java_Management_Extensions">JMX</a>,
Ganglia, <a href="https://graphiteapp.org/">Graphite</a>, <a
href="https://prometheus.io/">Prometheus</a>, <a
href="https://github.com/etsy/statsd">StatsD</a>, <a
href="https://www.datadoghq.com/">Datadog</a>, 和 <a
href="https://www.slf4j.org/">Slf4j</a>.</li>
+ <li><strong>标准的WEB REST API接口服务</strong>: Flink提供多种REST
API接口,有提交新应用程序、获取正在运行的应用程序的Savepoint服务信息、取消应用服务等接口。REST
API还提供元数据信息和已采集的运行中或完成后的应用服务的指标信息。</li>
</ul>
<hr />
@@ -219,11 +219,11 @@
<div class="row">
<div class="col-sm-12" style="background-color: #f8f8f8;">
<h2>
- <a href="/flink-architecture.html">Architecture</a>
+ <a href="/zh/flink-architecture.html">架构</a>
<span class="glyphicon glyphicon-chevron-right"></span>
- <a href="/flink-applications.html">Applications</a>
+ <a href="/zh/flink-applications.html">应用</a>
<span class="glyphicon glyphicon-chevron-right"></span>
- Operations
+ 运维
</h2>
</div>
</div>
diff --git a/flink-applications.zh.md b/flink-applications.zh.md
index 405483b..e4ea6b5 100644
--- a/flink-applications.zh.md
+++ b/flink-applications.zh.md
@@ -6,11 +6,11 @@ title: "Apache Flink 是什么?"
<div class="row">
<div class="col-sm-12" style="background-color: #f8f8f8;">
<h2>
- <a href="{{ site.baseurl }}/flink-architecture.html">Architecture</a>
+ <a href="{{ site.baseurl }}/zh/flink-architecture.html">架构</a>
<span class="glyphicon glyphicon-chevron-right"></span>
- Applications
+ 应用
<span class="glyphicon glyphicon-chevron-right"></span>
- <a href="{{ site.baseurl }}/flink-operations.html">Operations</a>
+ <a href="{{ site.baseurl }}/zh/flink-operations.html">运维</a>
</h2>
</div>
</div>
@@ -191,11 +191,11 @@ Flink features several libraries for common data
processing use cases. The libra
<div class="row">
<div class="col-sm-12" style="background-color: #f8f8f8;">
<h2>
- <a href="{{ site.baseurl }}/flink-architecture.html">Architecture</a>
+ <a href="{{ site.baseurl }}/zh/flink-architecture.html">架构</a>
<span class="glyphicon glyphicon-chevron-right"></span>
- Applications
+ 应用
<span class="glyphicon glyphicon-chevron-right"></span>
- <a href="{{ site.baseurl }}/flink-operations.html">Operations</a>
+ <a href="{{ site.baseurl }}/zh/flink-operations.html">运维</a>
</h2>
</div>
</div>
diff --git a/flink-architecture.zh.md b/flink-architecture.zh.md
index 2e6c73e..580ab30 100644
--- a/flink-architecture.zh.md
+++ b/flink-architecture.zh.md
@@ -6,11 +6,11 @@ title: "Apache Flink 是什么?"
<div class="row">
<div class="col-sm-12" style="background-color: #f8f8f8;">
<h2>
- Architecture
+ 架构
<span class="glyphicon glyphicon-chevron-right"></span>
- <a href="{{ site.baseurl }}/flink-applications.html">Applications</a>
+ <a href="{{ site.baseurl }}/zh/flink-applications.html">应用</a>
<span class="glyphicon glyphicon-chevron-right"></span>
- <a href="{{ site.baseurl }}/flink-operations.html">Operations</a>
+ <a href="{{ site.baseurl }}/zh/flink-operations.html">运维</a>
</h2>
</div>
</div>
@@ -89,11 +89,11 @@ Stateful Flink applications are optimized for local state
access. Task state is
<div class="row">
<div class="col-sm-12" style="background-color: #f8f8f8;">
<h2>
- Architecture
+ 架构
<span class="glyphicon glyphicon-chevron-right"></span>
- <a href="{{ site.baseurl }}/flink-applications.html">Applications</a>
+ <a href="{{ site.baseurl }}/zh/flink-applications.html">应用</a>
<span class="glyphicon glyphicon-chevron-right"></span>
- <a href="{{ site.baseurl }}/flink-operations.html">Operations</a>
+ <a href="{{ site.baseurl }}/zh/flink-operations.html">运维</a>
</h2>
</div>
</div>
diff --git a/flink-operations.zh.md b/flink-operations.zh.md
index 75860a7..de105a0 100644
--- a/flink-operations.zh.md
+++ b/flink-operations.zh.md
@@ -6,66 +6,66 @@ title: "Apache Flink 是什么?"
<div class="row">
<div class="col-sm-12" style="background-color: #f8f8f8;">
<h2>
- <a href="{{ site.baseurl }}/flink-architecture.html">Architecture</a>
+ <a href="{{ site.baseurl }}/zh/flink-architecture.html">架构</a>
<span class="glyphicon glyphicon-chevron-right"></span>
- <a href="{{ site.baseurl }}/flink-applications.html">Applications</a>
+ <a href="{{ site.baseurl }}/zh/flink-applications.html">应用</a>
<span class="glyphicon glyphicon-chevron-right"></span>
- Operations
+ 运维
</h2>
</div>
</div>
<hr/>
-Apache Flink is a framework for stateful computations over unbounded and
bounded data streams. Since many streaming applications are designed to run
continuously with minimal downtime, a stream processor must provide excellent
failure recovery, as well as, tooling to monitor and maintain applications
while they are running.
+Apache Flink
是一个针对无界和有界数据流进行有状态计算的框架。由于许多流应用程序旨在以最短的停机时间连续运行,因此流处理器必须提供出色的故障恢复能力,以及在应用程序运行期间进行监控和维护的工具。
-Apache Flink puts a strong focus on the operational aspects of stream
processing. Here, we explain Flink's failure recovery mechanism and present its
features to manage and supervise running applications.
+Apache Flink 非常注重流数据处理的可运维性。因此在这一小节中,我们将详细介绍 Flink 的故障恢复机制,并介绍其管理和监控应用的功能。
-## Run Your Applications Non-Stop 24/7
+## 7 * 24小时稳定运行
-Machine and process failures are ubiquitous in distributed systems. A
distributed stream processors like Flink must recover from failures in order to
be able to run streaming applications 24/7. Obviously, this does not only mean
to restart an application after a failure but also to ensure that its internal
state remains consistent, such that the application can continue processing as
if the failure had never happened.
+在分布式系统中,服务故障是常有的事,为了保证服务能够7*24小时稳定运行,像Flink这样的流处理器故障恢复机制是必须要有的。显然这就意味着,它(这类流处理器)不仅要能在服务出现故障时候能够重启服务,而且还要当故障发生时,保证能够持久化服务内部各个组件的当前状态,只有这样才能保证在故障恢复时候,服务能够继续正常运行,好像故障就没有发生过一样。
-Flink provides a several features to ensure that applications keep running and
remain consistent:
+Flink通过几下多种机制维护应用可持续运行及其一致性:
-* **Consistent Checkpoints**: Flink's recovery mechanism is based on
consistent checkpoints of an application's state. In case of a failure, the
application is restarted and its state is loaded from the latest checkpoint. In
combination with resettable stream sources, this feature can guarantee
*exactly-once state consistency*.
-* **Efficient Checkpoints**: Checkpointing the state of an application can be
quite expensive if the application maintains terabytes of state. Flink's can
perform asynchronous and incremental checkpoints, in order to keep the impact
of checkpoints on the application's latency SLAs very small.
-* **End-to-End Exactly-Once**: Flink features transactional sinks for specific
storage systems that guarantee that data is only written out exactly once, even
in case of failures.
-* **Integration with Cluster Managers**: Flink is tightly integrated with
cluster managers, such as [Hadoop YARN](https://hadoop.apache.org),
[Mesos](https://mesos.apache.org), or [Kubernetes](https://kubernetes.io). When
a process fails, a new process is automatically started to take over its work.
-* **High-Availability Setup**: Flink feature a high-availability mode that
eliminates all single-points-of-failure. The HA-mode is based on [Apache
ZooKeeper](https://zookeeper.apache.org), a battle-proven service for reliable
distributed coordination.
+* **检查点的一致性**:
Flink的故障恢复机制是通过建立分布式应用服务状态一致性检查点实现的,当有故障产生时,应用服务会重启后,再重新加载上一次成功备份的状态检查点信息。结合可重放的数据源,该特性可保证*精确一次(exactly-once)*的状态一致性。
+* **高效的检查点**:
如果一个应用要维护一个TB级的状态信息,对此应用的状态建立检查点服务的资源开销是很高的,为了减小因检查点服务对应用的延迟性(SLAs服务等级协议)的影响,Flink采用异步及增量的方式构建检查点服务。
+* **端到端的精确一次**: Flink 为某些特定的存储支持了事务型输出的功能,及时在发生故障的情况下,也能够保证精确一次的输出。
+* **集成多种集群管理服务**: Flink已与多种集群管理服务紧密集成,如 [Hadoop
YARN](https://hadoop.apache.org), [Mesos](https://mesos.apache.org), 以及
[Kubernetes](https://kubernetes.io)。当集群中某个流程任务失败后,一个新的流程服务会自动启动并替代它继续执行。
+* **内置高可用服务**: Flink内置了为解决单点故障问题的高可用性服务模块,此模块是基于[Apache
ZooKeeper](https://zookeeper.apache.org) 技术实现的,[Apache
ZooKeeper](https://zookeeper.apache.org)是一种可靠的、交互式的、分布式协调服务组件。
-## Update, Migrate, Suspend, and Resume Your Applications
+## Flink能够更方便地升级、迁移、暂停、恢复应用服务
-Streaming applications that power business-critical services need to be
maintained. Bugs need to be fixed and improvements or new features need to be
implemented. However, updating a stateful streaming application is not trivial.
Often one cannot simply stop the applications and restart an fixed or improved
version because one cannot afford to lose the state of the application.
+驱动关键业务服务的流应用是经常需要维护的。比如需要修复系统漏洞,改进功能,或开发新功能。然而升级一个有状态的流应用并不是简单的事情,因为在我们为了升级一个改进后版本而简单停止当前流应用并重启时,我们还不能丢失掉当前流应用的所处于的状态信息。
-Flink's *Savepoints* are a unique and powerful feature that solves the issue
of updating stateful applications and many other related challenges. A
savepoint is a consistent snapshot of an application's state and therefore very
similar to a checkpoint. However in contrast to checkpoints, savepoints need to
be manually triggered and are not automatically removed when an application is
stopped. A savepoint can be used to start a state-compatible application and
initialize its state. Savepo [...]
+而Flink的 *Savepoint* 服务就是为解决升级服务过程中记录流应用状态信息及其相关难题而产生的一种唯一的、强大的组件。一个
Savepoint,就是一个应用服务状态的一致性快照,因此其与checkpoint组件的很相似,但是与checkpoint相比,Savepoint
需要手动触发启动,而且当流应用服务停止时,它并不会自动删除。Savepoint
常被应用于启动一个已含有状态的流服务,并初始化其(备份时)状态。Savepoint 有以下特点:
-* **Application Evolution**: Savepoints can be used to evolve applications. A
fixed or improved version of an application can be restarted from a savepoint
that was taken from a previous version of the application. It is also possible
to start the application from an earlier point in time (given such a savepoint
exists) to repair incorrect results produced by the flawed version.
-* **Cluster Migration**: Using savepoints, applications can be migrated (or
cloned) to different clusters.
-* **Flink Version Updates**: An application can be migrated to run on a new
Flink version using a savepoint.
-* **Application Scaling**: Savepoints can be used to increase or decrease the
parallelism of an application.
-* **A/B Tests and What-If Scenarios**: The performance or quality of two (or
more) different versions of an application can be compared by starting all
versions from the same savepoint.
-* **Pause and Resume**: An application can be paused by taking a savepoint and
stopping it. At any later point in time, the application can be resumed from
the savepoint.
-* **Archiving**: Savepoints can be archived to be able to reset the state of
an application to an earlier point in time.
+* **便于升级应用服务版本**: Savepoint 常在应用版本升级时使用,当前应用的新版本更新升级时,可以根据上一个版本程序记录的 Savepoint
内的服务状态信息来重启服务。它也可能会使用更早的 Savepoint 还原点来重启服务,以便于修复由于有缺陷的程序版本导致的不正确的程序运行结果。
+* **方便集群服务移植**: 通过使用 Savepoint,流服务应用可以自由的在不同集群中迁移部署。
+* **方便Flink版本升级**: 通过使用 Savepoint,可以使应用服务在升级Flink时,更加安全便捷。
+* **增加应用并行服务的扩展性**: Savepoint 也常在增加或减少应用服务集群的并行度时使用。
+* **便于A/B测试及假设分析场景对比结果**: 通过把同一应用在使用不同版本的应用程序,基于同一个 Savepoint
还原点启动服务时,可以测试对比2个或多个版本程序的性能及服务质量。
+* **暂停和恢复服务**: 一个应用服务可以在新建一个 Savepoint 后再停止服务,以便于后面任何时间点再根据这个实时刷新的 Savepoint
还原点进行恢复服务。
+* **归档服务**: Savepoint 还提供还原点的归档服务,以便于用户能够指定时间点的 Savepoint
的服务数据进行重置应用服务的状态,进行恢复服务。
-## Monitor and Control Your Applications
+## 监控和控制应用服务
-Just like any other service, continuously running streaming applications need
to be supervised and integrated into the operations infrastructure, i.e.,
monitoring and logging services, of an organization. Monitoring helps to
anticipate problems and react ahead of time. Logging enables root-cause
analysis to investigate failures. Finally, easily accessible interfaces to
control running applications are an important feature.
+如其它应用服务一样,持续运行的流应用服务也需要监控及集成到一些基础设施资源管理服务中,例如一个组件的监控服务及日志服务等。监控服务有助于预测问题并提前做出反应,日志服务提供日志记录能够帮助追踪、调查、分析故障发生的根本原因。最后,便捷易用的访问控制应用服务运行的接口也是Flink的一个重要的亮点特征。
-Flink integrates nicely with many common logging and monitoring services and
provides a REST API to control applications and query information.
+Flink与许多常见的日志记录和监视服务集成得很好,并提供了一个REST API来控制应用服务和查询应用信息。具体表现如下:
-* **Web UI**: Flink features a web UI to inspect, monitor, and debug running
applications. It can also be used to submit executions for execution or cancel
them.
-* **Logging**: Flink implements the popular slf4j logging interface and
integrates with the logging frameworks
[log4j](https://logging.apache.org/log4j/2.x/) or
[logback](https://logback.qos.ch/).
-* **Metrics**: Flink features a sophisticated metrics system to collect and
report system and user-defined metrics. Metrics can be exported to several
reporters, including
[JMX](https://en.wikipedia.org/wiki/Java_Management_Extensions), Ganglia,
[Graphite](https://graphiteapp.org/), [Prometheus](https://prometheus.io/),
[StatsD](https://github.com/etsy/statsd),
[Datadog](https://www.datadoghq.com/), and [Slf4j](https://www.slf4j.org/).
-* **REST API**: Flink exposes a REST API to submit a new application, take a
savepoint of a running application, or cancel an application. The REST API also
exposes meta data and collected metrics of running or completed applications.
+* **Web UI方式**: Flink提供了一个web UI来观察、监视和调试正在运行的应用服务。并且还可以执行或取消组件或任务的执行。
+*
**日志集成服务**:Flink实现了流行的slf4j日志接口,并与日志框架[log4j](https://logging.apache.org/log4j/2.x/)或[logback](https://logback.qos.ch/)集成。
+* **指标服务**: Flink提供了一个复杂的度量系统来收集和报告系统和用户定义的度量指标信息。度量信息可以导出到多个报表组件服务,包括
[JMX](https://en.wikipedia.org/wiki/Java_Management_Extensions), Ganglia,
[Graphite](https://graphiteapp.org/), [Prometheus](https://prometheus.io/),
[StatsD](https://github.com/etsy/statsd),
[Datadog](https://www.datadoghq.com/), 和 [Slf4j](https://www.slf4j.org/).
+* **标准的WEB REST API接口服务**: Flink提供多种REST
API接口,有提交新应用程序、获取正在运行的应用程序的Savepoint服务信息、取消应用服务等接口。REST
API还提供元数据信息和已采集的运行中或完成后的应用服务的指标信息。
<hr/>
<div class="row">
<div class="col-sm-12" style="background-color: #f8f8f8;">
<h2>
- <a href="{{ site.baseurl }}/flink-architecture.html">Architecture</a>
+ <a href="{{ site.baseurl }}/zh/flink-architecture.html">架构</a>
<span class="glyphicon glyphicon-chevron-right"></span>
- <a href="{{ site.baseurl }}/flink-applications.html">Applications</a>
+ <a href="{{ site.baseurl }}/zh/flink-applications.html">应用</a>
<span class="glyphicon glyphicon-chevron-right"></span>
- Operations
+ 运维
</h2>
</div>
</div>