You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by li...@web.de on 2016/11/05 06:40:29 UTC

Use Android App as a “Producing client” for Kafka?

Hi folks,

is it possible / does it make sense to use an Android app as a "Producing client" for Apache Kafka?

Let's say my Android App need to capture and analyse reaction time data. Goal is to collect all data and show the average reaction time in real-time in the App.

The alternative is having an app server of some kind as an intermediary that accepts messages from the android app and posts them to Kafka, rather than having the app be a Kafka Producer on its own.

 

See: http://stackoverflow.com/questions/40043532/how-to-use-android-app-as-a-producing-client-for-kafka

 

Best Regards,

Artur

Re: Use Android App as a “Producing client” for Kafka?

Posted by radai <ra...@gmail.com>.
also, for large-enough kafka clusters (#topics, #partitions) just
downloading the metadata (required by the client to know where to publish
stuff to) by be a big hit on your bandwidth consumption.
I would go with something like a rest-proxy (there are a few open source
ones) or roll your own server-side.

On Mon, Nov 7, 2016 at 9:41 PM, Ewen Cheslack-Postava <ew...@confluent.io>
wrote:

> Artur,
>
> It is possible to do this, but the second approach you mentioned is much
> more common. Normally people don't want to expose their Kafka cluster
> publicly, so having an intermediary can be a good way to, e.g., add a layer
> where you can easily filter out bad traffic. You may be able to use some of
> Kafka's newer security features to get enough security for your use case,
> however. Additionally, you'll likely need to tweak some of the default
> settings as they are good defaults for use within a data center, but not
> over the link your Android app will probably have.
>
> -Ewen
>
> On Fri, Nov 4, 2016 at 11:40 PM, <li...@web.de> wrote:
>
> > Hi folks,
> >
> > is it possible / does it make sense to use an Android app as a "Producing
> > client" for Apache Kafka?
> >
> > Let's say my Android App need to capture and analyse reaction time data.
> > Goal is to collect all data and show the average reaction time in
> real-time
> > in the App.
> >
> > The alternative is having an app server of some kind as an intermediary
> > that accepts messages from the android app and posts them to Kafka,
> rather
> > than having the app be a Kafka Producer on its own.
> >
> >
> >
> > See: http://stackoverflow.com/questions/40043532/how-to-use-
> > android-app-as-a-producing-client-for-kafka
> >
> >
> >
> > Best Regards,
> >
> > Artur
> >
>
>
>
> --
> Thanks,
> Ewen
>

Re: Use Android App as a “Producing client” for Kafka?

Posted by Ewen Cheslack-Postava <ew...@confluent.io>.
Artur,

It is possible to do this, but the second approach you mentioned is much
more common. Normally people don't want to expose their Kafka cluster
publicly, so having an intermediary can be a good way to, e.g., add a layer
where you can easily filter out bad traffic. You may be able to use some of
Kafka's newer security features to get enough security for your use case,
however. Additionally, you'll likely need to tweak some of the default
settings as they are good defaults for use within a data center, but not
over the link your Android app will probably have.

-Ewen

On Fri, Nov 4, 2016 at 11:40 PM, <li...@web.de> wrote:

> Hi folks,
>
> is it possible / does it make sense to use an Android app as a "Producing
> client" for Apache Kafka?
>
> Let's say my Android App need to capture and analyse reaction time data.
> Goal is to collect all data and show the average reaction time in real-time
> in the App.
>
> The alternative is having an app server of some kind as an intermediary
> that accepts messages from the android app and posts them to Kafka, rather
> than having the app be a Kafka Producer on its own.
>
>
>
> See: http://stackoverflow.com/questions/40043532/how-to-use-
> android-app-as-a-producing-client-for-kafka
>
>
>
> Best Regards,
>
> Artur
>



-- 
Thanks,
Ewen