Hi Sourav,

Basically, Kafka consumer is pull-based [1]. If you want to build push-based 
system, you should use other options.

Flink supports both pull-based and push-based paradigm. It depends upon an 
implementation of data source. As one of examples, Flink provides a streaming 
source function based on socket [2].

[1] http://kafka.apache.org/documentation.html#design_pull
[2] 
https://github.com/apache/flink/blob/master/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/source/SocketTextStreamFunction.java

> On Jan 5, 2016, at 3:01 PM, Sourav Mazumder <sourav.mazumde...@gmail.com> 
> wrote:
> 
> Hi Gordon,
> 
> Need little more clarification around reading data from Kafka.
> 
> As soon as any component behaves as a consumer of a topic/queue (iof a 
> messaging system), it essentially does polling of the data after a regular 
> interval (that interval may be small though). Hence essentially it captures 
> all data/events accumulated in the queue from last polling instant to the 
> current polling in a pull manner
> 
> This pattern is very different from real time push of data where a daemon 
> process keeps on waiting on a continuous basis for any data pushed to it. 
> 
> So what I'm looking clarification for is whether Flink supports a mechanism 
> where a data source (actually any client application) can push a data to a 
> socket which is continuously listened by a deamon process of flink.
> 
> Regards,
> Sourav
> 
> On Mon, Jan 4, 2016 at 9:39 PM, Gordon Tai (戴資力) <tzuli...@gmail.com> wrote:
> Hi Sourav,
> 
> Flink's streaming processes incoming data by-each-entry (true streaming, as 
> compared to micro-batch), and streaming is inherently designed as a 
> push-model, where a topology of stream transformations "listens" to a data 
> source.
> 
> You can have a Flink streaming topology's data source configured to be 
> sockets or message queues such as Kafka's topics.
> Any event / data that is streamed to (or in other words, "pushed" to) the 
> socket or Kafka topic will be processed by the Flink topology in real-time.
> 
> Therefore, the answer is yes to your question. Hope this helps.
> 
> BR,
> Gordon
> 
> On Tue, Jan 5, 2016 at 12:42 PM, Sourav Mazumder 
> <sourav.mazumde...@gmail.com> wrote:
> Hi,
> 
> Does Flink support push based data streaming where the data source can push 
> the events/data to Flink cluster over a socket (instead of Flink pulling the 
> data at a given frequency)?
> 
> Regards,
> Sourav
> 
> 
> 
> -- 
> Tzu-Li Tai (Gordon Tai)
> 戴資力
> 
> National Cheng Kung University, Graduate Institute of Computer and 
> Communication Engineering
> High Performance Parallel and Distributed Systems Laboratory (HPDS Lab)
> 國立成功大學電機工程學系 - 電腦與通信工程研究所
> 高效能平行/分散系統實驗室 (HPDS Lab)
> 
> National Cheng Kung University, Engineering Science Dpt.
> 國立成功大學工程科學系
> 
> Contacts
> tzuli...@ee.ncku.edu.tw
> http://tzulitai.ee.ncku.edu.tw
> Linkedin: tw.linkedin.com/in/tzulitai
> +886981916890
> 

Regards,
Chiwan Park


Reply via email to