Kafka uses a long poll 
<http://kafka.apache.org/documentation.html#design_pull>. So requests 
effectively block on the server, if there is insufficient data available. This 
elevates many of the issues associated with traditional polling approaches. 

Service-based applications often require directed channels to do request 
response. People do use Kafka in this way, Philippe gave a good example below.  
You just need to be aware that, should you have a lot of services that need to 
interact, it could involve creating a lot of topics.  Kafka topics are 
persistent and generally long lived. They shouldn’t be considered ephemeral 
imho. 

B


> On 23 Jun 2016, at 17:35, Philippe Derome <phder...@gmail.com> wrote:
> 
> See Keyhole Software blog and particularly John Boardman's presentation of
> sample app with responsive web client using WebSockets connecting to a
> netty embedded web server that itself uses producer and consumer clients
> with a Kafka infrastructure (@johnwboardman). On first look, it seems like
> a valid approach. Behind the web server are services that are Kafka apps
> interacting with external web APIs.
> 
> Anecdotally quite a few companies post jobs with Kafka playing a role in a
> micro architecture solution.
> 
> I'll now let experts speak...
> On 23 Jun 2016 11:47 a.m., "Pranay Suresh" <pranay.sur...@gmail.com> wrote:
> 
>> Hey Kafka experts,
>> 
>> After having read Jay Kreps awesome Kafka reading(
>> 
>> https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying
>> )
>> I have a doubt.
>> 
>> For communication between browsers (lets say collaborative editing, chat
>> etc.) is Kafka the right choice ? Especially given that Kafka consumers are
>> designed to pull , rather than a callback style push. For low latency
>> possibly ephemeral data/events is Kafka a good choice ? Can I have a
>> browser open a socket into a webserver and each request initiate a consumer
>> to consume from kafka (by polling?) OR is Kafka designed and/or meant to be
>> used for a separate usecase ?
>> 
>> Any feedback is appreciated. Let the bashing begin!
>> 
>> Many Thanks,
>> pranay
>> 

Reply via email to