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]


Reply via email to