-
Notifications
You must be signed in to change notification settings - Fork 332
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sneakers concurrency from RabbitMQ consumer perspective #439
Comments
Anyone? |
@pradosh987
Please, correct me if I'm wrong. |
Thanks for nice explanation @thisisDom that helps, sorry I moved on from ruby to node and didn't came back here. 1600 consumers??? That's totally getting out of hand. How many rabbitmq connections it will create? |
It's worth mentioning that Sneakers uses Bunny, a RabbitMQ client, under the hood, which uses a thread pool per channel for delivery dispatch. By default the pool size is 1 to avoid concurrent delivery processing which may or may not be expected. |
The design is really fine. |
Sneaker seems to be excellent gem for RabbitMQ but I am having trouble grasping its abstraction written over RabbitMQ consumer.
In RabbitMQ you can create as many consumer with set amount of prefetch. I have done this in Nodejs where I'll create certain number of consumers on certain machines. Same things appear to be little complicated in rails with workers and threads and worker classes.
From what I understand, each worker class will have its thread pool, say 10 as configured globally. Say I have 20 worker classes and 4 number of per-cpu worker configured in Sneaker configuration.
So
Can anyone please elaborate on this? Thanks in advance.
The text was updated successfully, but these errors were encountered: