Is my case apt for using ZeroMQ?

98 views Asked by At

I'm trying to implement a communication system among a variety of devices connected through WiFi.

A Desktop ( Mac / Win / Linux ) serves as a server, whereas mobile phones ( Android / iPhone / Blackberry ), say 50 in number, will be clients.

There should be a client-server as well as client-client 2-way communication.

In client-server communication, I need to access a database in the server. While surfing about this, I came across ZeroMQ as a high-performance asynchronous messaging library and a better solution for complex Distributed communication system.

Note:
Yeah, I am completely new to this communication and networks, but try learning that. ( Guess the fact is well reflected in the clarity of question :P )

EDIT:
if ZeroMQ seems not to be a good option, suggest me some other means of achieving this.

1

There are 1 answers

0
user3666197 On

Yes, ZeroMQ is a great and powerful tool

This does not mean it is the best tool to use for any particular project.

Many other facts matter more, than the built-in code and service-archetypes.

  • Project's potential for creeping scope, moving sands in diversity of target devices, respective O/S versions, patches, EoL-maintenance/unsupported orphanages
  • Project plan / vs the Teams' already accrued { ZeroMQ and other-tools } craftmanship
  • Scaling of the services - from 5, 50, 500, 5000+
  • Service robustness / { service & transaction }-self-healing strategies
  • Service risks associated with an absence of any version-{ -control- | -enforcement- }-policy in loosely coupled or even un-controlled domain
  • Service risks from (non-)-{ -stable | -available } language bindings or wrapper mediators.

One will always learn a lot, once opening the ZeroMQ perspective

There are many points of view, that will help one to better design even non-distributed services. A Zero-copy design rule, a Zero-sharing for performance targets, (almost) Zero-latency, (almost) Zero-overheads for (almost) linear-scaling -- these are just few principles, one may benefit from, if learning ZeroMQ from its ground-Zero-roots.

The best next step I may direct one to, feel free to read ZeroMQ posts here for FF-reading and do not miss to download the great must-read book from Pieter HINTJENS: "Code Connected, Volume 1".

After having ZeroMQ views understood, Nanomsg or any other tool available may give one some additional views ( and one will be then mature and ready also assess the risks / costs to be paid on such grounds ).