title: ZeroC ICE vs 0MQ/ZeroMQ vs Crossroads IO vs Open Source DDS
body: <p>How does ZeroC ICE compare to 0MQ? I know that 0MQ/Crossroads and DDS are very similar, but cant seem to figure out where ICE comes in. </p>
  
  <p>I need to quickly implement a system that offloads real-time market-data from C++ to C#, as a first phase of my project. The next phase will be to implement an Event Based architecture with an underlying Pub/Sub design. </p>
  
  <p>I am willing to use TCP.. but the the system is currently running on a single  24 core server.. so an IPC option would be nice. From what I understand ICE is only TCP, while DDS and 0mq have an IPC option. </p>
  
  <p>Currently ,I am leaning towards using Protobuf with either ICE or Crossroads IO. Got turned off from the OpenSplice DDS website. Ive done lots research on the various options, was originally considering OpenMPI + boost:mpi, but there does not seem to be MPI for .NET. </p>
  
  <p>My question is: </p>
  
  <p>How does ICE compare to 0MQ? I cant wrap my head around this. Was unable to find anything online that compares the two. </p>
  
  <p>thanks in advance. </p>
  
  <p>........ 
  More about my project: </p>
  
  <p>Currently using CMAKE C++ on Windows, but the plan is to move to CentOS at some point. An additional desired feature is to store the tic data and all the messages in a "NoSql" database such as Hbase/Hadoop or HDF5. Do any of these middleware/messaging/pub-sub libraries have any database integration? </p>