carp84 commented on a change in pull request #176:
URL: https://github.com/apache/flink-statefun/pull/176#discussion_r530273775



##########
File path: README.zh.md
##########
@@ -0,0 +1,214 @@
+<img alt="Stateful Functions" src="docs/fig/stateful_functions_logo.png" 
width=350px/>
+
+Stateful Functions(简称 StateFun)是一个 [Apache Flink](https://flink.apache.org/) 
库, __可简化构建分布式有状态应用程序的过程__ 。它基于可持久化状态的函数,这些函数可以在强一致性保证下进行动态交互。
+
+Stateful Functions 使我们能够将强大的状态管理与像 AWS Lambda 类似的 FaaS 实现和 Kubernetes 
等现代资源编排框架的弹性、快速扩缩容和滚动升级功能相结合。通过这些特性,它解决了当今许多 FaaS 解决方案中 
[最常被引用的两个缺点](https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf) 
:函数间的状态一致性和高效消息传递。
+
+本文档旨在简要介绍 Stateful Functions 的核心概念以及如何开发一个 Stateful Functions 应用。
+
+更多详细信息,可以参考 
[官方文档](https://ci.apache.org/projects/flink/flink-statefun-docs-master) 
,相关代码示例,请查看[这里](statefun-examples/)  。
+
+[![构建状态](https://travis-ci.org/apache/flink-statefun.svg?branch=master)](https://travis-ci.org/apache/flink-statefun)
+
+## 目录
+
+- [核心概念](#core-concepts)
+   * [摘要](#abstraction)
+   * [函数模块和可扩展性](#modules)
+   * [Runtime](#runtime)
+- [入门](#getting-started)
+   * [运行一个完整的例子](#greeter)
+   * [创建项目](#project-setup)
+   * [构建项目](#build)
+   * [在 IDE 中运行](#ide-harness)
+- [应用部署](#deploying)
+   * [使用 Docker 映像进行部署](#docker)
+   * [作为 Flink 作业部署](#flink)
+- [参与贡献](#contributing)
+- [开源软件许可](#license)
+
+## <a name="core-concepts"></a>核心概念
+
+### <a name="abstraction"></a>摘要
+
+Stateful Functions 应用程序由以下原语组成:有状态函数,入口(ingresses),路由器(routers)和出口(egresses)。
+
+<p align="center">
+  <img src="docs/fig/stateful_functions_overview.png" width="650px"/>
+</p>
+
+#### Stateful Functions
+
+* 一个 _stateful function_ 是通过消息调用的一小段逻辑/代码。每个 stateful function 都是作为 _函数类型_ 的唯一可
+调用 _虚拟实例_ 存在。每个实例都通过其 ``type`` 以及 type 中的唯一 ``ID``(字符串)来寻址。
+
+* Stateful Functions 可以从 ingress 或任何其他的 stateful 
function(包括其自身)中调用,调用者只需要知道目标函数的逻辑地址即可。
+
+* 函数实例是 _虚拟的_ ,因为它们不总是同时在内存中活跃。在任何一个时间点,只有一小部分函数及其状态作为实际对象存在。
+当一个虚拟实例接收到消息时,将配置一个对象并带着该虚拟实例的状态加载,然后处理该消息。与虚拟内存类似,许多函数的状态可能
+在任何时间点都被“交换出去”(swap out)。
+
+* 函数的每个虚拟实例都有其自己的状态,可以通过局部变量访问,
+并且该状态是私有的,对于该实例来说是本地的。
+
+如果您知道 Apache Flink 的 DataStream API,则可以将 Stateful Functions 考虑为轻量级的
+`KeyedProcessFunction` 。函数 ``类型`` 等同于处理函数转换(process function transformation),而 
`` ID `` 则是键值(key)。不同之处
+在于,函数不是在定义数据流(拓扑)的有向无环图(DAG)中组装,
+而是使用地址将事件任意发送到所有其他函数。
+
+#### 入口和出口
+
+* _入口_ (Ingress)是事件最初到达 Stateful Functions 应用程序的方式。
+入口可以是消息队列,日志或 HTTP 服务器 —— 任何可以产生事件并交由应用程序处理的系统。
+
+* _路由器_(Router)将入口(Ingress)与 stateful function 连接起来,以确定哪个函数实例应该在最开始时处理来自 
Ingress 的事件。

Review comment:
       ```suggestion
   * _路由_(Router)将入口(Ingress)与 stateful function 连接起来,以确定哪个函数实例应该在最开始时处理来自入口的事件。
   ```
   Refer to 
https://cwiki.apache.org/confluence/display/FLINK/Flink+Translation+Specifications

##########
File path: README.zh.md
##########
@@ -0,0 +1,214 @@
+<img alt="Stateful Functions" src="docs/fig/stateful_functions_logo.png" 
width=350px/>
+
+Stateful Functions(简称 StateFun)是一个 [Apache Flink](https://flink.apache.org/) 
库, __可简化构建分布式有状态应用程序的过程__ 。它基于可持久化状态的函数,这些函数可以在强一致性保证下进行动态交互。
+
+Stateful Functions 使我们能够将强大的状态管理与像 AWS Lambda 类似的 FaaS 实现和 Kubernetes 
等现代资源编排框架的弹性、快速扩缩容和滚动升级功能相结合。通过这些特性,它解决了当今许多 FaaS 解决方案中 
[最常被引用的两个缺点](https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf) 
:函数间的状态一致性和高效消息传递。
+
+本文档旨在简要介绍 Stateful Functions 的核心概念以及如何开发一个 Stateful Functions 应用。
+
+更多详细信息,可以参考 
[官方文档](https://ci.apache.org/projects/flink/flink-statefun-docs-master) 
,相关代码示例,请查看[这里](statefun-examples/)  。
+
+[![构建状态](https://travis-ci.org/apache/flink-statefun.svg?branch=master)](https://travis-ci.org/apache/flink-statefun)
+
+## 目录
+
+- [核心概念](#core-concepts)
+   * [摘要](#abstraction)
+   * [函数模块和可扩展性](#modules)
+   * [Runtime](#runtime)
+- [入门](#getting-started)
+   * [运行一个完整的例子](#greeter)
+   * [创建项目](#project-setup)
+   * [构建项目](#build)
+   * [在 IDE 中运行](#ide-harness)
+- [应用部署](#deploying)
+   * [使用 Docker 映像进行部署](#docker)
+   * [作为 Flink 作业部署](#flink)
+- [参与贡献](#contributing)
+- [开源软件许可](#license)
+
+## <a name="core-concepts"></a>核心概念
+
+### <a name="abstraction"></a>摘要
+
+Stateful Functions 应用程序由以下原语组成:有状态函数,入口(ingresses),路由器(routers)和出口(egresses)。
+
+<p align="center">
+  <img src="docs/fig/stateful_functions_overview.png" width="650px"/>
+</p>
+
+#### Stateful Functions
+
+* 一个 _stateful function_ 是通过消息调用的一小段逻辑/代码。每个 stateful function 都是作为 _函数类型_ 的唯一可
+调用 _虚拟实例_ 存在。每个实例都通过其 ``type`` 以及 type 中的唯一 ``ID``(字符串)来寻址。
+
+* Stateful Functions 可以从 ingress 或任何其他的 stateful 
function(包括其自身)中调用,调用者只需要知道目标函数的逻辑地址即可。
+
+* 函数实例是 _虚拟的_ ,因为它们不总是同时在内存中活跃。在任何一个时间点,只有一小部分函数及其状态作为实际对象存在。
+当一个虚拟实例接收到消息时,将配置一个对象并带着该虚拟实例的状态加载,然后处理该消息。与虚拟内存类似,许多函数的状态可能
+在任何时间点都被“交换出去”(swap out)。
+
+* 函数的每个虚拟实例都有其自己的状态,可以通过局部变量访问,
+并且该状态是私有的,对于该实例来说是本地的。
+
+如果您知道 Apache Flink 的 DataStream API,则可以将 Stateful Functions 考虑为轻量级的
+`KeyedProcessFunction` 。函数 ``类型`` 等同于处理函数转换(process function transformation),而 
`` ID `` 则是键值(key)。不同之处
+在于,函数不是在定义数据流(拓扑)的有向无环图(DAG)中组装,
+而是使用地址将事件任意发送到所有其他函数。
+
+#### 入口和出口
+
+* _入口_ (Ingress)是事件最初到达 Stateful Functions 应用程序的方式。
+入口可以是消息队列,日志或 HTTP 服务器 —— 任何可以产生事件并交由应用程序处理的系统。
+
+* _路由器_(Router)将入口(Ingress)与 stateful function 连接起来,以确定哪个函数实例应该在最开始时处理来自 
Ingress 的事件。
+
+* _出口_(Egress)是一种以标准化方式从应用程序发送事件的方法。
+出口是可选的,也有可能没有事件需要从应用程序中发送出去,函数会完成事件的处理或直接调用其他应用程序。
+
+### <a name="modules"></a>模块(Module)
+
+_模块_(Module)是将核心构建单元添加到一个 Stateful Functions 
应用程序的入口,这些核心构建单元包括:入口(Ingress)、出口(Egress)、路由器(Router)和有状态函数。

Review comment:
       ```suggestion
   _模块_(Module)是将核心构建单元添加到一个 Stateful Functions 
应用程序的入口,这些核心构建单元包括:入口(Ingress)、出口(Egress)、路由(Router)和有状态函数。
   ```

##########
File path: README.zh.md
##########
@@ -0,0 +1,214 @@
+<img alt="Stateful Functions" src="docs/fig/stateful_functions_logo.png" 
width=350px/>
+
+Stateful Functions(简称 StateFun)是一个 [Apache Flink](https://flink.apache.org/) 
库, __可简化构建分布式有状态应用程序的过程__ 。它基于可持久化状态的函数,这些函数可以在强一致性保证下进行动态交互。
+
+Stateful Functions 使我们能够将强大的状态管理与像 AWS Lambda 类似的 FaaS 实现和 Kubernetes 
等现代资源编排框架的弹性、快速扩缩容和滚动升级功能相结合。通过这些特性,它解决了当今许多 FaaS 解决方案中 
[最常被引用的两个缺点](https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf) 
:函数间的状态一致性和高效消息传递。
+
+本文档旨在简要介绍 Stateful Functions 的核心概念以及如何开发一个 Stateful Functions 应用。
+
+更多详细信息,可以参考 
[官方文档](https://ci.apache.org/projects/flink/flink-statefun-docs-master) 
,相关代码示例,请查看[这里](statefun-examples/)  。
+
+[![构建状态](https://travis-ci.org/apache/flink-statefun.svg?branch=master)](https://travis-ci.org/apache/flink-statefun)
+
+## 目录
+
+- [核心概念](#core-concepts)
+   * [摘要](#abstraction)
+   * [函数模块和可扩展性](#modules)
+   * [Runtime](#runtime)
+- [入门](#getting-started)
+   * [运行一个完整的例子](#greeter)
+   * [创建项目](#project-setup)
+   * [构建项目](#build)
+   * [在 IDE 中运行](#ide-harness)
+- [应用部署](#deploying)
+   * [使用 Docker 映像进行部署](#docker)
+   * [作为 Flink 作业部署](#flink)
+- [参与贡献](#contributing)
+- [开源软件许可](#license)
+
+## <a name="core-concepts"></a>核心概念
+
+### <a name="abstraction"></a>摘要
+
+Stateful Functions 应用程序由以下原语组成:有状态函数,入口(ingresses),路由器(routers)和出口(egresses)。

Review comment:
       ```suggestion
   Stateful Functions 应用程序由以下原语组成:有状态函数,入口(ingresses),路由(routers)和出口(egresses)。
   ```
   Refer to 
https://cwiki.apache.org/confluence/display/FLINK/Flink+Translation+Specifications

##########
File path: README.zh.md
##########
@@ -0,0 +1,214 @@
+<img alt="Stateful Functions" src="docs/fig/stateful_functions_logo.png" 
width=350px/>
+
+Stateful Functions(简称 StateFun)是一个 [Apache Flink](https://flink.apache.org/) 
库, __可简化构建分布式有状态应用程序的过程__ 。它基于可持久化状态的函数,这些函数可以在强一致性保证下进行动态交互。
+
+Stateful Functions 使我们能够将强大的状态管理与像 AWS Lambda 类似的 FaaS 实现和 Kubernetes 
等现代资源编排框架的弹性、快速扩缩容和滚动升级功能相结合。通过这些特性,它解决了当今许多 FaaS 解决方案中 
[最常被引用的两个缺点](https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf) 
:函数间的状态一致性和高效消息传递。
+
+本文档旨在简要介绍 Stateful Functions 的核心概念以及如何开发一个 Stateful Functions 应用。
+
+更多详细信息,可以参考 
[官方文档](https://ci.apache.org/projects/flink/flink-statefun-docs-master) 
,相关代码示例,请查看[这里](statefun-examples/)  。
+
+[![构建状态](https://travis-ci.org/apache/flink-statefun.svg?branch=master)](https://travis-ci.org/apache/flink-statefun)
+
+## 目录
+
+- [核心概念](#core-concepts)
+   * [摘要](#abstraction)
+   * [函数模块和可扩展性](#modules)
+   * [Runtime](#runtime)
+- [入门](#getting-started)
+   * [运行一个完整的例子](#greeter)
+   * [创建项目](#project-setup)
+   * [构建项目](#build)
+   * [在 IDE 中运行](#ide-harness)
+- [应用部署](#deploying)
+   * [使用 Docker 映像进行部署](#docker)
+   * [作为 Flink 作业部署](#flink)
+- [参与贡献](#contributing)
+- [开源软件许可](#license)
+
+## <a name="core-concepts"></a>核心概念
+
+### <a name="abstraction"></a>摘要
+
+Stateful Functions 应用程序由以下原语组成:有状态函数,入口(ingresses),路由器(routers)和出口(egresses)。
+
+<p align="center">
+  <img src="docs/fig/stateful_functions_overview.png" width="650px"/>
+</p>
+
+#### Stateful Functions
+
+* 一个 _stateful function_ 是通过消息调用的一小段逻辑/代码。每个 stateful function 都是作为 _函数类型_ 的唯一可
+调用 _虚拟实例_ 存在。每个实例都通过其 ``type`` 以及 type 中的唯一 ``ID``(字符串)来寻址。
+
+* Stateful Functions 可以从 ingress 或任何其他的 stateful 
function(包括其自身)中调用,调用者只需要知道目标函数的逻辑地址即可。
+
+* 函数实例是 _虚拟的_ ,因为它们不总是同时在内存中活跃。在任何一个时间点,只有一小部分函数及其状态作为实际对象存在。
+当一个虚拟实例接收到消息时,将配置一个对象并带着该虚拟实例的状态加载,然后处理该消息。与虚拟内存类似,许多函数的状态可能
+在任何时间点都被“交换出去”(swap out)。
+
+* 函数的每个虚拟实例都有其自己的状态,可以通过局部变量访问,
+并且该状态是私有的,对于该实例来说是本地的。
+
+如果您知道 Apache Flink 的 DataStream API,则可以将 Stateful Functions 考虑为轻量级的
+`KeyedProcessFunction` 。函数 ``类型`` 等同于处理函数转换(process function transformation),而 
`` ID `` 则是键值(key)。不同之处
+在于,函数不是在定义数据流(拓扑)的有向无环图(DAG)中组装,
+而是使用地址将事件任意发送到所有其他函数。
+
+#### 入口和出口
+
+* _入口_ (Ingress)是事件最初到达 Stateful Functions 应用程序的方式。
+入口可以是消息队列,日志或 HTTP 服务器 —— 任何可以产生事件并交由应用程序处理的系统。
+
+* _路由器_(Router)将入口(Ingress)与 stateful function 连接起来,以确定哪个函数实例应该在最开始时处理来自 
Ingress 的事件。
+
+* _出口_(Egress)是一种以标准化方式从应用程序发送事件的方法。
+出口是可选的,也有可能没有事件需要从应用程序中发送出去,函数会完成事件的处理或直接调用其他应用程序。
+
+### <a name="modules"></a>模块(Module)
+
+_模块_(Module)是将核心构建单元添加到一个 Stateful Functions 
应用程序的入口,这些核心构建单元包括:入口(Ingress)、出口(Egress)、路由器(Router)和有状态函数。
+
+单个应用程序可以是多个模块(Module)的组合,每个模块都构成了整个应用程序的一部分。
+这允许一个 Stateful Functions 应用程序的不同部分由不同的模块来组成,例如:
+一个模块可以提供入口和出口,而其他模块可以通过状态函数来独立提供业务逻辑的不同部分。这有助于多个独立团队共同完成较大(复杂)的应用程序。
+
+## <a name="runtime">Runtime
+
+Stateful Functions Runtime 旨在提供一组类似于 
[无服务器函数](https://martinfowler.com/articles/serverless.html) 的属性,但适用于有状态的场景。
+
+<p align="center">
+  <img src="docs/fig/stateful_functions_overview-ops.png" width="600px"/>
+</p>
+
+Runtime 基于 Apache Flink<sup>®</sup> 构建,并具有以下设计原则:
+
+*  __逻辑上计算/状态共置__:消息传递,状态访问/更新和函数调用在一起紧密管理,这在抽象层面就天然地保证了一致性。

Review comment:
       ```suggestion
   * __逻辑上计算/状态共置__:消息传递,状态访问/更新和函数调用在一起紧密管理,这在抽象层面就天然地保证了一致性。
   ```




----------------------------------------------------------------
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