You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Deepa Kolwalkar <de...@tcs.com> on 2018/08/10 08:38:15 UTC
what are the alternative for IgniteQueue for FIFO transactional, reliable, low-latency
messaging
We have a requirement as follows:
Large streams of Time-ordered data received form over a TCP source to be
processed in a time-ordered (cannot do parallel processing of the records)
manner.
The raw data or processed data does not need to be retained/cached in the
Ignite layer.
The processed records need to be inserted into a DB.
The SLA is
a) Lowest Latency b/w the stream ingestion till DB.
b) Reliability : cannot afford losing any record/packet from the stream
In view of the above SLAs, would appreciate any feedback/suggestions on
the following :
Q1) what would be a better choice for Stream Ingestion from TCP source :
Ignite SocketStreamer OR Kafka Streamer ?
Q2) since the records are time-ordered and need to be processed in the
same manner, we need a FIFO Queue in which the Streamer can inject the
raw records, which can be picked up by a ClusterSingletonService which can
process the raw records in a time-ordered manner & then insert the
processed record in a write-through Cache to DB.
Pls note that to ensure Reliability , the take() of each record from the
FIFO Queue by the ClusterSingletonService till it writes the processed
record to the Cache --> needs to be completed within single User
Transaction, such that in the event of any failure/node-crash/etc while
processing the record, it must rollback the transaction and NOT remove the
raw record from the FIFO Queue.
I tried IgniteQueue, but it does not support User Transaction.
What would be the best alternative for the FIFO Queue implementation ?
Thanks
=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you
Re: what are the alternative for IgniteQueue for FIFO
transactional, reliable, low-latency messaging
Posted by dkarachentsev <dk...@gridgain.com>.
Hi,
I think the best way here would be to read items directly from kafka,
process and store in cache and rememeber in another cache kafka stream
offset. If node crashes, your service could start from the last point
(offset).
Thanks!
-Dmitry
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/