Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DDS vs AMQP vs ZeroMQ [closed]

I wanted a feedback on whether my evaluations and concerns are correct.

I have been reseaching the three, Data Distribution Service, AMQP and ZeroMQ for sometime now for building a data transport layer in a datacenter. All the three look promising, yet i encountered some blocking issues in few.

To give a context, my requirements are:

  1. Scale upto 500+ physical nodes, 1000+ publishers and subscribers.
  2. Support durable delivery of messages to take care of failing subscribers.
  3. The aggregated throughput should be north of 1 Million messages / sec

Problems with AMQP:

  1. The Broker architecture seems to be a bottleneck and central point of failure in the whole deployment setup. I can complicate my deployment by putting a federation and cluster to improve performance and availability of pending messages, but they still do not seem to be failproof.
  2. The performance for durable queues seems to be very less. My sample application could only clock 6-7K messages / core / queue/ application.

Problems with ZeroMQ:

  1. The Documentation seems to be a little wanting in depth.
  2. The behavior of the system for pending messages seems to invite trouble in PUB/SUB model of communication. Please refer to : How zeromq handles slow consumers with PUB/SUB mode

OpenSplice DDS: I didnt find anything lacking in the DDS protocol except for adoption in the industry. Will like to know a first hand review on this product in terms of stability, performance or limitations.

like image 344
Kisalay Avatar asked Jul 08 '10 10:07

Kisalay


People also ask

Is ZeroMQ a DDS?

DDS provides for automatic discovery And it does it automatically without additional services. This means that applications can be re-deployed and integrated without recompilation or reconfiguration. In comparison, ZeroMQ is lower level. You must specify ports, IP addresses, etc.

What is difference between ZeroMQ and RabbitMQ?

ZeroMQ: ZeroMQ is much faster than RabbitMQ because it doesn't store messages on the disk, so you don't need to go back and forth to get messages. It stores messages in memory in small buffers. RabbitMQ: RabbitMQ promotes broker functionality; that is, it supports message persistence, so it is slower.

Does ZeroMQ support MQTT?

ZeroMQ could be suitable for an edge of network on-premises high-speed network which connects to an MQTT broker for IoT services, but not as a complete IoT solution on its own. If you want to know more about what MQTT can offer you then check out these resources: MQTT essentials.


2 Answers

I am surprised about your concerns on OpenSplice DDS adoption. OpenSplice DDS is today deployed on over several mission and business critical systems such as Naval Combat Management Systems, Military Vehicles, Air Traffic Control and Management, Metro, to High Frequency Auto-Trading. Just to give you another bit of info that should give you reassure you w.r.t. the adoption of the technology, the OMG DDS standard (the standard implemented by OpenSplice DDS) has been recommended by EUROCAE to exchange flight data plans across centers pan-european.

Let me know if you have any further questions either on the adoption or the technology.

-AC

like image 125
acor Avatar answered Oct 04 '22 04:10

acor


Take a look at this page. Lot of industries and companies are using DDS today.

like image 38
Sumant Avatar answered Oct 04 '22 04:10

Sumant