tzulitai commented on a change in pull request #54: [FLINK-16515][docs] Refactor statefun documentation for multi-language SDKs URL: https://github.com/apache/flink-statefun/pull/54#discussion_r390705594
########## File path: statefun-docs/docs/concepts/index.rst ########## @@ -0,0 +1,97 @@ +.. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +.. _concepts: + +######## +Concepts +######## + +.. toctree:: + :hidden: + + logical + +Stateful Functions provides a framework for building event drivent applications. +Here, we explain important aspects of Stateful Function’s architecture. + +.. contents:: :local: + +Event Ingress +============= + +Stateful Function applications sit squarely in the event driven space, so the natural place to start is with getting events into the system. + +.. figure:: ../_static/images/concepts/statefun-app-ingress.svg + :width: 85% + :align: center + +In stateful functions, the component that ingests records into the system is called an event ingress. +This can be anything from a Kafka topic, to a messsage queue, to an http request. +Anything that can get data into the system and trigger the intitial functions to begin compution. + +Stateful Functions +================== + +At the core of the diagram are the namesake stateful functions. + +.. figure:: ../_static/images/concepts/statefun-app-functions.svg + :width: 85% + :align: center + +Think of these as the building blocks for your service. +They can message each other arbitrarily, which is one way in which this framework moves away from the traditional stream processing view of the world. +Instead of building up a static dataflow DAG, these functions can communicate with each other in arbitrary, potentially cyclic, even round trip ways. + +If you are familiar with actor programming, this does share certain similarities in its ability to dynamically message between components. +However, there are a number of significant differences. + +Persisted Values +================ + +The first is that all functions have locally embedded state, known as persisted values. + +.. figure:: ../_static/images/concepts/statefun-app-state.svg + :width: 85% + :align: center + +One of Apache Flink's core strengths is its ability to provide fault-tolerant local state. Review comment: Same comment here about "local". While it is true for all Flink function / operators, in Stateful Functions it's not always true. ---------------------------------------------------------------- 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: us...@infra.apache.org With regards, Apache Git Services