tillrohrmann commented on a change in pull request #14238:
URL: https://github.com/apache/flink/pull/14238#discussion_r532436860
##########
File path: docs/deployment/index.zh.md
##########
@@ -25,47 +25,158 @@ specific language governing permissions and limitations
under the License.
-->
-When deciding how and where to run Flink, there's a wide range of options
available.
+Flink is a versatile framework, supporting many different deployment scenarios
in a mix and match fashion.
+
+Below, we briefly explain the building blocks of a Flink cluster, their
purpose and available implementations.
+If you just want to start Flink locally, we recommend setting up a [Standalone
Cluster]({% link deployment/resource-providers/standalone/index.md %}).
* This will be replaced by the TOC
{:toc}
+
+## Overview and Reference Architecture
+
+The figure below shows the building blocks of every Flink cluster. There is
always somewhere a client running. It takes the code of the Flink applications,
transforms it into a JobGraph and submits it to the JobManager.
+
+The JobManager distributes the work onto the TaskManagers, where the actual
operators (such as sources, transformations and sinks) are running.
+
+When deploying Flink, there are often multiple options available for each
building block. We have listed them in the table below the figure.
+
+
+<!-- Image source:
https://docs.google.com/drawings/d/1s_ZlXXvADqxWfTMNRVwQeg7HZ3hN1Xb7goxDPjTEPrI/edit?usp=sharing
-->
+<img class="img-fluid" style="margin: 15px" width="100%" src="{% link
fig/deployment_overview.svg %}" alt="Figure for Overview and Reference
Architecture" />
+
+
+<table class="table table-bordered">
+ <thead>
+ <tr>
+ <th class="text-left" style="width: 25%">Component</th>
+ <th class="text-left" style="width: 50%">Purpose</th>
+ <th class="text-left">Implementations</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>Flink Client</td>
+ <td>
+ Compiles batch or streaming applications into a dataflow graph,
which it then submits to the JobManager.
+ </td>
+ <td>
+ <ul>
+ <li><a href="{% link deployment/cli.md %}">Command Line
Interface</a></li>
+ <li><a href="{% link ops/rest_api.md %}">REST
Endpoint</a></li>
+ <li><a href="{% link dev/table/sqlClient.md %}">SQL
Client</a></li>
+ <li><a href="{% link deployment/repls/python_shell.md
%}">Python REPL</a></li>
+ <li><a href="{% link deployment/repls/scala_shell.md
%}">Scala REPL</a></li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>JobManager</td>
+ <td>
+ JobManager is the name of the central work coordination
component of Flink. It has implementations for different resource providers,
which differ on high-availability, resource allocation behavior and supported
job submission modes. <br />
+ JobManager <a href="#deployment-modes">modes for job
submissions</a>:
+ <ul>
+ <li><b>Application Mode</b>: runs the cluster exclusively
for one job. The job's main method (or client) gets executed on the
JobManager.</li>
Review comment:
Maybe let's call it a Flink application as an application can consist of
multiple Flink jobs.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]