Add queue interop based driver. Supports AMQP, Amazon SQS, Kafka, Google PubSub, Redis, STOMP, Gearman, Beanstalk #20148
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The interop driver uses queue-interop compatible transports (as of now we have 10th of them). There are many implementations in enqueue project.
Advantages
Supports message delaying, priorities and expiration
Use DSN to configure transport. 12 factors friendly.
It brings support of a lot of MQ transport with few lines of integration code:
Consume messages as they arrive from multiple queues.
You can run fewer work processes and reduce memory usages.
It uses long pulling whenever possible. It results in zero CPU usages while waiting for messages.
You can monitor any transport, not only redis
Adds extension points
AMQP friendly.
Popular soliution, big and active community around the project
Supported by a company - Forma-Pro
Example
enqueue/fs
Use it as any other native driver. I welcome everyone who is interested in MQs to join the queue interop group