You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Omid B (Jira)" <ji...@apache.org> on 2021/07/21 14:39:00 UTC

[jira] [Commented] (FLINK-23281) StateFun - Simplify Getting Stared Experience with HTTP Ingresses and Egresses

    [ https://issues.apache.org/jira/browse/FLINK-23281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17384925#comment-17384925 ] 

Omid B commented on FLINK-23281:
--------------------------------

I want to just add that it's actually a great idea to have HTTP ingress/egress and I'm a huge fan of this feature. Not only because it makes it easier to get into the ecosystem but also because it really makes sense. For a frontend application, it's overkill to start a Kafka cluster.

 

I want to add a couple of ideas here that makes the frontend and app builders really productive and happy.
 # Adding a scalable Websocket ingress/egress
 # Exploring the idea of GraphQL ingress/egress
 # Looking into projects like [https://github.com/Accenture/reactive-interaction-gateway]

 

Thanks for your work on this project.

> StateFun - Simplify Getting Stared Experience with HTTP Ingresses and Egresses
> ------------------------------------------------------------------------------
>
>                 Key: FLINK-23281
>                 URL: https://issues.apache.org/jira/browse/FLINK-23281
>             Project: Flink
>          Issue Type: New Feature
>          Components: Stateful Functions
>            Reporter: Stephan Ewen
>            Priority: Major
>
> To make it easier to get started with StateFun, we want to reduce the dependencies on other systems and tools that are currently required to get your first program running.
>  _(For reference, you currently need a docker-compose setup with at least Flink, Kafka, ZooKeeper, and then you need to interact with it using Kafka command line tools (or other clients) to publish messages to the ingress topic.)_
> This issue aims to add simple pre-packaged HTTP ingresses/egresses that can be used for examples and exploration, and can be used with standard tools (like {{curl}}). That reduces the barrier to exploration.
>  _(Citing a respected friend here: you have roughly one lunchbreak of time to get a developer excited. Many devs just play around for about 45 minutes, and when they don't see some preliminary success with simple examples, they drop the exploration.)_
> An example interaction could be:
> {code:java}
> > curl -X POST -i http://<statefun-service>:5555/in/example/greeter/Igal
> HTTP/2 200
> Request-Correlation-ID: 8acb377c-fc5e-4bdb-b2cc-eddb5992b7b5
> > curl -X GET http://<statefun-service>:5555/out/8acb377c-fc5e-4bdb-b2cc-eddb5992b7b5
> Hello for the 1337th time...
> {code}
> *Note:* The HTTP Ingress/Egress here are different from the HTTP state access from FLINK-23261.
>  State requests against the state access API (FLINK-23261) only interacts with state entries and never invoke functions. In contrast, messages against the here-proposed Ingress/Egress send messages to functions like any other ingress.
> This is the umbrella issue. Dedicated tasks for ingress/egress and request correlation are in the subtasks.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)