Skip to content

Issue with Message Ordering in ZeroMQ PUSH-PULL Using send_multipart #2074

Open
@fti-ravhad

Description

@fti-ravhad

Issue with Message Ordering in ZeroMQ PUSH-PULL Using send_multipart

Context:
I am currently working on a multi-threaded module where multiple PUSH sockets send messages to a single PULL socket using ZeroMQ. The messages are sent using the send_multipart method in the following format:

send_socket.send_multipart([msg1, msg2])

  • msg1: JSON data
  • msg2: JPEG byte data

On the receiver side, I am using:
x = receive_socket.recv_multipart() .
I expect x[0] to always contain the JSON data (msg1), and x[1] to contain the JPEG bytes (msg2). However, in some cases, I am receiving the JPEG bytes as x[0], causing message misalignment.
Current Setup:

Messaging Pattern: PUSH-PULL
Multiple PUSH sockets sending data to a single PULL socket

Questions:

  • Is there a more suitable messaging pattern in ZeroMQ that can ensure message ordering while handling multiple senders?
  • Are there any techniques or configurations I should apply to prevent message parts from arriving in the wrong order?

Any insights or suggestions would be greatly appreciated.

Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions