If you want to separate your main application from producer logic you
can use or write something similar to 
https://github.com/mozilla-metrics/bagheera . Basically have a  service
that provides an REST api which your main application can call and has a
Kafkaproducer to write to kafka.
-Harsha

On Tue, Nov 25, 2014, at 06:47 PM, Jun Rao wrote:
> Assuming that you use a single producer in the async mode, the Kafka
> overhead should be limited to a single thread. Using a cheaper
> compression
> codec such as snappy will also help reducing the CPU load.
> 
> Thanks,
> 
> Jun
> 
> On Tue, Nov 25, 2014 at 12:02 PM, Krishna Raj
> <reach.krishna...@gmail.com>
> wrote:
> 
> > Hi Jun,
> >
> > Thanks for replying back on this. Appreciated.
> >
> > I do understand that the Kafka Client just needs a protocol compatibility
> > with the Application which is producing the messages.
> >
> > To clarity a bit more:
> >
> > I witnessed a scenario where a large scale website uses the Kafka Library
> > in their Web Application. So in this case, the Kafka libraries are tied to
> > the Application which are served by Web Servers.
> >
> > So, When there was an issue caused by Kafka related to CPU usage, the team
> > wanted to do a patch. In this case, in order to do a patch, they had to
> > create a new WAR package and deploy again in Web Server which is a
> > significant effort.
> >
> > I totally understand that having a layer like Logging service in between
> > Kafka and the Application will totally defect the purpose for Kafka.
> >
> > And I would love to know your advice how best to handle these type of
> > maintenance.
> >
> > Thanks,
> > Krishna Raj
> >
> >
> >
> >
> >
> > On Tue, Nov 25, 2014 at 10:58 AM, Jun Rao <jun...@gmail.com> wrote:
> >
> >> Could you be a bit more specific about the issue? As long as there is
> >> protocol compatibility btw the Kafka client and the broker, upgrading the
> >> Kafka client library should be easy, right?
> >>
> >> Thanks,
> >>
> >> Jun
> >>
> >> On Mon, Nov 24, 2014 at 3:57 PM, Krishna Raj <reach.krishna...@gmail.com>
> >> wrote:
> >>
> >>> Hello Amazing Kafka Creators & User,
> >>>
> >>> I have learnt and use kafka in our Production system, so you can count
> >>> my understanding as intermediate.
> >>>
> >>> With the statement that "Kafka has solved the Scalability and
> >>> Availability needs for a large scale message publish/subscribe system", I
> >>> understand that having a Producer Service which sits in between the
> >>> Application and the Producer defects the one major purpose of Kafka.
> >>>
> >>> So, my question is, How to loosely couple Kafka with my Production
> >>> Application ?
> >>>
> >>> The reason being, I wish to do all producer code and Kafka library
> >>> maintenance without affecting my large scale Production system. Its not an
> >>> easy thing to buy a window to these type of changes done on a large scale
> >>> production application :)
> >>>
> >>> Any advice on how this can be achieved(even moderately) will greatly
> >>> help ?
> >>>
> >>> Thanks,
> >>> Krishna Raj
> >>>
> >>
> >>
> >

Reply via email to