ZeroMQ driver implementation details
Existing driver implementation sticks to a universal socket pipeline approach.
This means that all messaging patterns are implemented over a single socket
pipeline.
In [1] there were proposed to switch from a splitted universal
forward(
bidirectional pipeline. The change simplifies the driver implementation and
makes it more reliable but the pipeline still remains universal.
The main drawback of the universal pipeline is that it can not be optimized
for some specific messaging pattern. For example, if we would like to
make a FANOUT cast over a universal pipeline (PUSH/PULL or REQ/REP does not matter)
we have to emulate it over a number of direct casts while it could be
done over PUB/SUB zeromq pattern using a single api call.
This specification proposes to extend zmq driver implementation
with several specific socket pipelines according to each messaging pattern.
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Oleksii Zamiatin
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by