Here is a scenario where this could be useful:

   Add the kafka offset as a field on the record in both Cassandra and 
Elasticsearch

Now when you get search results from Elastic search and look up details in 
Cassandra you can know if they come from the same kafka record.   If you can 
use the offset as part of the Cassandra Partition key, or as a clustering key, 
then you could specifically retrieve a version of the record from Cassandra 
that matches Elasticsearch (assuming it made it).

If your real goal is to guarantee that the two datasets always have the same 
set of messages from Kafka ... I don't think this is possible.

-Dave

-----Original Message-----
From: kant kodali [mailto:kanth...@gmail.com]
Sent: Monday, November 7, 2016 10:48 AM
To: users@kafka.apache.org
Subject: Re: is there a way to make sure two consumers receive the same message 
from the broker?

Hi AmitHossein,

I still don't see how that guarantees consistency at any given time. other 
words how do I know at time X the data in Cassandra and ES are the same.

Thanks


On Mon, Nov 7, 2016 at 3:26 AM, AmirHossein Roozbahany <diver...@outlook.com
> wrote:

> Hi
>
> Can you use elasticsearch _version field as cassandra's
> writetime?(_version is strictly increasing, cassandra uses writetime
> for applying LWW, so last write in elasticsearch will always win)
>
> It needs no transaction and makes databases convergent.
>
>
> ________________________________
> From: kant kodali <kanth...@gmail.com>
> Sent: Monday, November 7, 2016 3:08 AM
> To: users@kafka.apache.org
> Subject: Re: is there a way to make sure two consumers receive the
> same message from the broker?
>
> Hi Hans,
>
> The two storages we use are Cassandra and Elastic search and they are
> on the same datacenter for now.
> The Programming Language we use is Java and OS would be Ubuntu or CentOS.
> We get messages in JSON format so we insert into Elastic Search
> directly and for Cassandra we transform JSON message into appropriate
> model so we could insert into a Cassandra table.
> The rate we currently get is about 100K/sec which is awesome but I am
> pretty sure this will go down once when we implement 2PC or
> transactional writes.
>
> Thanks,
> kant
>
This e-mail and any files transmitted with it are confidential, may contain 
sensitive information, and are intended solely for the use of the individual or 
entity to whom they are addressed. If you have received this e-mail in error, 
please notify the sender by reply e-mail immediately and destroy all copies of 
the e-mail and any attachments.

Reply via email to