You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Andrey Mashenkov <an...@gmail.com> on 2017/03/01 15:03:26 UTC
Fwd: Real-time computing
Hi Neeraj,
1. You can have as many clients as you need to mitigate SPOF.
BTW, it would be better to use watcher [1] for file system changes, if
possible.
Why you want to use only one client at a time to send jobs?
2. All of 5 listeners will get these event, it is better to use some kind
of event filter. Or even better to use affinity call from client [2]
[1] https://docs.oracle.com/javase/tutorial/essential/io/notification.html
[2] https://apacheignite.readme.io/docs/collocate-compute-and-data
On Fri, Feb 24, 2017 at 3:08 AM, Neeraj Vaidya <ne...@yahoo.co.in>
wrote:
> Thanks Andrey,
>
> 1) If I understand correctly, the FailOver feature of the ComputeGrid is
> to mitigate SPOF for the compute jobs i.e. the Callables/Runnables/Closures
> which are distributed to multiple nodes. But my goal was also to mitigate
> the failure of the client node which is responsible for reading external
> files and creating the compute jobs collection.Can the FailOverSpi handle
> that as well ? My pseudo-code of the client node is as follows :
> - Check for files in filesystem
> - If present, then for each line present in the file, create a compute
> job. (If I understand correctly, this is the piece of code which falls
> under the scope of FailOverSpi)
> - Finally, loop back to wait for any more files.
>
> 2) Coming to my second question. Let's say I cache the CDR file
> records/entries into a certain cache e.g. : "CDRFileCache". I then run 5
> nodes each with a listener waiting for new entries to be added to this
> cache.
> - If I stream 3 entries into this cache, one after another, will all
> listeners process all these 3 entries ? i.e will entry1,2,3 be processed by
> listener1,2,3,4 and 5 ?
> - Or is it that if listener1 is processing entry1, then entry1 will not be
> processed by any other listener because listener1 has already started
> processing it ?
>
> Regards,
> Neeraj
>
> --------------------------------------------
> On Fri, 24/2/17, Andrey Mashenkov <an...@gmail.com> wrote:
>
> Subject: Re: Real-time computing
> To: user@ignite.apache.org, "Neeraj Vaidya" <ne...@yahoo.co.in>
> Date: Friday, 24 February, 2017, 2:20 AM
>
> Hi Neeraj,
> 1. Why you want
> to use Zookeeper to mitigating an SPOF instead of Ignite
> ComputeGrid failover features?
> 2. If you need
> to reuse data then caching makes sense. For processing new
> entries you can use Events or Continuous
> queries. You are free in
> choosing number of nodes for your grid. You can choose what
> nodes will hold data and what nodes will be used for
> computations.
> I'm not
> sure I understand last question. Would you please detail the
> last use case?
>
> On Thu, Feb 23, 2017 at
> 3:23 AM, Neeraj Vaidya <ne...@yahoo.co.in>
> wrote:
> Hi,
>
>
>
> I have a use case where I need to perform computation on
> records in files (specifically files containing telecom
> CDRs).
>
>
>
> To this, I have a few questions :
>
>
>
> 1) Should I have just one client node which reads these
> records and creates Callable compute jobs for each record ?
> With just 1 client node, I suppose this will be a
> single-point of failure. I could use Zookeeper to manage a
> cluster of such nodes, thus possibly mitigating an SPOF.
>
>
>
> 2) Or should I stream/load these records using a client,
> into a cache and then have other cluster nodes read this
> cache for new entries and then let them perform the
> computation ? In this case, is there a way by which I can
> have only one node get hold of computing every record ?
>
>
>
> Regards,
>
> Neeraj
>
>
>
>
> --
> Best regards,
> Andrey V.
> Mashenkov
>
>
>
--
Best regards,
Andrey V. Mashenkov
--
Best regards,
Andrey V. Mashenkov