boazsegev / plezi

Plezi - the Ruby framework for realtime web-apps, websockets and RESTful HTTP
www.plezi.io
MIT License
245 stars 9 forks source link

rabbitmq #25

Open tannevaled opened 6 years ago

tannevaled commented 6 years ago

Hi Bo,

in the https://github.com/boazsegev/iodine/blob/master/SPEC-PubSub-Draft.md document you mention :rabbitmq as a possible value for the :match opt.

Do you have some sample of plezi code using iodine/rabbitmq support for the pubsub system instead of redis?

thanks in advance :)

boazsegev commented 6 years ago

Hi @tannevaled ,

Thank you for opening this issue.

The short answer is:

Although, RabbitMQ pattern matching support is on the roadmap, it isn't currently supported.

The long story:

The Pub/Sub specification draft is part of an ongoing effort to standardize the API used by servers that offer pub/sub services (such as iodine and agoo).

There were a lot of changes to the draft in the last few months, which caused iodine to move swiftly from version 0.4.19 to 0.5.0 and now 0.6.0 (due to API breaking changes).

Plezi itself is still bound to the older API (implemented by iodine 0.4.19) and I still haven't updated Plezi to take advantage of iodine 0.6.0.

For the moment, the draft is only implemented by Iodine v. 0.6.0, which supports only Redis pattern matching (as noted in the draft, pattern matching support is optional).

I intend to author RabbitMQ and NATS pattern matching in the future and I have been authoring updates to the facil.io C framework (which is the engine that powers iodine) in order to achieve this goal.

I do wish I could have helped more.

Kindly, Bo.