Our external API is really Producer, which allows you to send messages
either synchronously (ie, immediately) or asynchronously (with batching).
Under the cover, either sync or async producer is used.

Thanks,

Jun

On Mon, Jun 25, 2012 at 8:24 AM, Tarun Kumar <agrawal.taru...@gmail.com>wrote:

> Thanks for quick reply Jun.
>
> What's the difference between sync and async producer in 0.7 then?
>
>
> On Mon, Jun 25, 2012 at 8:52 PM, Jun Rao <jun...@gmail.com> wrote:
>
> > Tarun,
> >
> > In 0.7, there is no producer side ack.
> >
> > In 0.8, sync producer will wait for an ack and is blocking. If the ack is
> > lost because a broker is down, sync producer will timeout and it's up to
> > the caller to decide what to do. If the caller chooses to resend, it's
> > possible for duplicated messages to show up in the broker.
> >
> > Thanks,
> >
> > Jun
> >
> > On Mon, Jun 25, 2012 at 8:12 AM, Tarun Kumar <agrawal.taru...@gmail.com
> > >wrote:
> >
> > > Hi,
> > >
> > > I have a couple of questions related to Sync Producer.
> > >
> > > 1. From what i know (please correct me if i am wrong), Sync producer
> send
> > > is a blocking call. Until acknowledgement is received from broker, next
> > > message is not sent by producer.
> > >
> > > 2. what if ack is lost. Is there any kind of timeout till when producer
> > > waits for ack. If yes, does it try to resend same message?
> > > If yes, duplicate message might reach to broker (due to previous
> > message's
> > > ack timeout). How does kafka avoids that?
> > >
> > > 3. What are different possibilities of duplicate messages being stored
> at
> > > broker?
> > >
> > > Thanks,
> > > Tarun
> > >
> >
>

Reply via email to