2

I need a broker-less pattern for reading and writing messages between nodes without remove any message from queues until some monitor system accept removing message.

Can i do this with zeromq?, in zmq if one publisher node die the message queued on network is gone too? how can i save this queue in network!!!

( i want send a message with publisher and subscribers read message but don't delete that from queue until my Qos monitor remove that from array. and if my publisher die message queue created with it should not be deleted.

Can i implement these functionality with current patterns in zmq? )

danics
  • 323
  • 1
  • 9
  • Since you have included the tag [tag:dds], are you interested in solutions using DDS as well? You do not mention it in your question. – Reinier Torenbeek Dec 02 '14 at 22:56
  • @ReinierTorenbeek i don't know, i think using a MQ like zmq and implement such a pattern (that i described above) is'nt so far of DDS architecture. if i'm wrong in understanding dds please correct me? thanks – danics Dec 03 '14 at 08:46

1 Answers1

1

You'll have to build that level of redundancy/reliability into your app, rather than rely on ZMQ to provide it.

What this means is that you'll have to keep track of all your messages at the publisher node, and then a subscriber node should be able to communicate back that it has received the message, allowing the publisher node to delete it's cache. This means multiple sockets, most likely, unless you really want to try and get XPUB/XSUB to communicate in this way, but it seems probably not the ideal choice.

If you need something more directly supported in your communication library, then ZMQ isn't going to cut it for you... but I doubt you'll find anything else that will, either.

Jason
  • 13,606
  • 2
  • 29
  • 40
  • i look in opensplice and some how it's seem provide such functionality, http://www.slideshare.net/Angelo.Corsaro/advanced-opensplice-programming-part-i – danics Dec 03 '14 at 08:51
  • Can't say I know much about opensplice, in a few minutes of searching it sounds like an open source implementation of the DDS protocol. As such, it's not directly comparable to ZMQ... think of opensplice as a full communication app, wherease ZMQ is a toolset you use to build a full communication app. I haven't looked deeply enough into the DDS spec to see if you can fully implement it with ZMQ, but you should be able to approximate it. But you would probably just choose to use opensplice instead, if it meets your needs. – Jason Dec 03 '14 at 15:07
  • i dont want use opensplice in my project, you are right i want to create my own communication app using ZMQ and based on DDS, did you see the link i send for you? after page 13?, you think can i implement a global data domain like this using zmq libraries like zyre opnamp and etc.. or not – danics Dec 04 '14 at 10:17
  • As I said, I haven't looked deeply enough into the DDS spec to see what you can accomplish, but as I've said from the beginning, if you want this level of data reliability, it's something you'll have to write yourself because it is not provided by ZMQ. – Jason Dec 04 '14 at 15:03