Skip to content

why do you use ZeroMQ #194

Closed
Closed

Description

@fizz12344321

hi, I am reading your project, why do you use ZeroMQ in your project instead of other message queues like Kafka, RabbitMQ... can you tell me about your purpose, the cons and pros of ZeroMQ, thank you so much

Activity

  1. RalphSteinhagen commented on Jul 11, 2022

    @RalphSteinhagen
    Member

    Hi @fizz12344321, thanks for your interest in our project. We used ZeroMQ for quite some time in-house and other facilitities and have had good experiences with it.

    However, the primary reason why we continue using it (besides the debatable backward compatibility) is that with OpenCMW we are aiming at cross-platform compatible full-vertical-stack middleware that:

    • is compatible with C++, Java, and Python,
    • is highly performant w.r.t. throughput as well as latency,
    • supports composition, is flexible, and explicitly open for extension of additional protocols and/or serialiser wire-formats,
      while using common/known programming patterns like 'publish-subscribe', 'request-reply', REST, ...

    ZeroMQ still pretty much fits the bill as a reliable back-bone, with native C++, Java, and (if you prefer) Python implementations, where other transport protocols or wire-formats can be added as adapter/plugins to the Majordomo Broker. We are not too dogmatic about the ZeroMQ choice but it fits reasonably well and it does the 'Zero' bit quite well. OpenCMW could also be extended to support Kafka and/or RabbitMQ through adapters (typically only ~ 1kSLOCs). For the time being, we haven't got a strong use case yet that would justify us putting resources into this.

    There are of course other implementations (e.g. our colleagues FairMQ implementation that supports also Infiniband, Kafka, RabbitMQ, or others...) but they usually have limitations w.r.t. cross-platform compatibility and/or performance.

    Of course, further discussions, user stories, or even PR are welcome.

    What is your specific application/background?

  2. RalphSteinhagen commented on Jul 19, 2022

    @RalphSteinhagen
    Member

    @fizz12344321 hope this was helpful and answered your question.

    Meanwhile, since this is not a bug, I'll transfer this to the new discussion.

    May I ask the background of your project?

  3. locked and limited conversation to collaborators on Jul 19, 2022
  4. converted this issue into a discussion #198 on Jul 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions