Hi Ryanne, 

Thanks for your reply.

I will definitely take a look at connectors. 

Actually it is not a lot of data but it is collected using an aspect ( using 
aspectj) at runtime.
Collected data is stored in a simple data structure.
Then when we received an event from TestNG ,void onExecutionFinish(), we wrote 
the complete data structure to a *.json file.

Maybe it is possible to send data at runtime ( if it does not slow down 
performance) instead using connector. My concern is mainly about:

- Send data to a central point that can be accessible from all sites.
- Sending time should be minimal.
- Sent data should be grouped ( errors, access, environment) for each execution.

Br,

//mike

We will use 
-----Original Message-----
From: Ryanne Dolan <ryannedo...@gmail.com> 
Sent: den 7 december 2018 15:42
To: Kafka Users <users@kafka.apache.org>
Subject: Re: Messgages from different sites

Mike, a couple things you might take a look at:

Kafka Connect might be useful for writing to your DB. Your
consumer->producer->DB flow seems to fit well with Connect.

Transactions might be useful for ensuring that your application runs to 
completion before committing records. It sounds like your application outputs a 
json file, perhaps after doing something that takes a long time, and you are 
worried about sending Kafka messages until the entire json file is written out. 
With transactions, you might be able to send messages while the application is 
running and then close the transaction at the end (instead or writing to a 
file).

That said, I've seen scenarios where large files are stored in a data store 
somewhere, and then Kafka is used to pass around the location of the files 
instead of the files themselves. If this is your scenario, it can be a good 
model when files are large, since Kafka is sorta inherently bad at dealing with 
large messages. For example, this model is common with video processing 
pipelines.

Ryanne

On Fri, Dec 7, 2018, 5:55 AM Mikael Petterson <mikael.petter...@ericsson.com
wrote:

> Hi,
> We have one application that produces various data ( dataset1, dataset 
> 2
> ....) at various sites when our application is executed. Currently 
> dataset1, dataset2 ..... is stored into separate *.json data files for 
> each execution.
>
> We don't want to transfer the data when we are running the application.
> The reason for it is that
> application might not be able to connect to database, for various reasons.
> We want the producer of data to notify consumer ( just a central one 
> if
> possible) that it has data and where data is located. Then consumer get it.
> Or is there a better way..... Consumer will then push the data for one 
> execution to the db.
>
> Our application can run at various sites.
>
>
> Site 1 Producer1  -------> Consumer1 ---> db Site 2 Producer1 -------> 
> Consumer1  ---> db Site 2 Producer2 -------> Consumer1  ---> db Site 3 
> Producer1 -------> Consumer1  ---> db ...
> Site x Producerx --------> Consumer1 ---> db
>
> I need user input if someone else out there has used Kafka in this 
> way? Is it recommended? Or is there alternatives?
>
> Br
>
> //mike
>

Reply via email to