Chesnay Schepler created FLINK-8444:
---------------------------------------

             Summary: Rework dependency setup docs
                 Key: FLINK-8444
                 URL: https://issues.apache.org/jira/browse/FLINK-8444
             Project: Flink
          Issue Type: Improvement
          Components: Documentation
    Affects Versions: 1.4.0, 1.5.0
            Reporter: Chesnay Schepler


Taken from https://github.com/apache/flink/pull/5303:

{quote}
I would suggest to start thinking about the dependencies the following way:

    There are pure user-code projects where the Flink runtime is "provided" and 
they are started using an existing Flink setup (bin/flink run or REST entry 
point). This is the Framework Style.

    In the future, we will have "Flink as a Library" deployments, where users 
add something like flink-dist as a library to their program and then simply 
dockerize that Java application.

    Code can be run in the IDE or other similar style embedded forms. This is 
in some sense also a "Flink as a Library" deployment, but with selective 
(fewer) dependencies. The RocksDB issue applies only to this scenario here.

To make this simpler for the users, it would be great to have not N different 
models that we talk about, but ideally only two: Framework Style and Library 
Style. We could for example start to advocate and document that users should 
always use flink-dist as their standard dependency - "provided" in the 
framework style deployment, "compile" in the library style deployment. That 
might be a really easy way to work with that. The only problem for the time 
being is that flink-dist is quite big and contains for example also optional 
dependencies like flink-table, which makes it more heavyweight for quickstarts. 
Maybe we can accept that as a trade-off for dependency simplicity.
{quote}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to