Sorry, I don't use Mojo and RabbitMQ together.

2015-06-08 10:05 GMT+03:00 Bakanov Dmitriy <[email protected]>:

> Thanks, now I see it's currently supported by bobtfish. If you use it in
> production, could you please share your impressions?
>
> пятница, 5 июня 2015 г., 12:24:53 UTC+5 пользователь alpha6 написал:
>>
>> Hi, Dmitry
>>
>> What problem with AnyEvent::RabbitMQ do you have? Right now, I see that
>> this module is updated 21th of march and it doesn't looks like unsupported.
>>
>> Anyway, blocking library in non-blocking system is not a problem. But you
>> should understand that is a potential bottleneck in whole application.
>> Because if this library blocks - all your apllication will blocks.
>>
>> For example, if single request costs 1ms and you have 10rps - your
>> application will locks for 10ms. But, if one of requests is longer than 1s
>> - you will have the DOS.
>>
>>
>> Best regards,
>> Denis
>>
>> 2015-05-31 6:30 GMT+03:00 Bakanov Dmitriy <[email protected]>:
>>
>>> Hello, community
>>>
>>> Currently I have 2 Mojolicious applications. I want first application
>>> notify second application about some messages it receives. I decided, that
>>> RabbitMQ will be the best way to implement it, because RabbitMQ tool is
>>> widespread, it has monitoring features, it's fast and allow flexibility.
>>> But, I have some troubles to use RabbitMQ from mojolicious. There are
>>> clients to RabbitMQ that allow non-blocking mode, but due to company's
>>> coding standards I don't want to use unsupported client like
>>> AnyEvent::RabbitMQ. Now I have the following Idea:
>>> 1. I found a client https://github.com/markwellis/net-amqp-rabbitmq
>>> that has some support and has commits in a recently few months
>>> 2. Unfortunately, it's blocking.
>>> 3. But I can call method 'get' to get messages from RabbitMQ if they
>>> exist, or it will return undef, if there no messages
>>> 4. I want to emit event 'receiving' in IOLoop and call Rabbit's 'get'
>>> method.
>>> 5. If there is a message I will emit 'received' event in IOLoop and then
>>> will be handle it in callback.
>>> 6. After this handling I will emit 'receiving' again.
>>> 7. If there are no messages in 'receiving' call, I will start IOLoop's
>>> timer to fire after 0.1 sec and emit 'receiving' in timer's callback
>>> 8. So, I will have the system, that works non-blocking, using blocking
>>> library (?)
>>> 9. But I will have some overhead when RabbitMQ is idle, and I will be
>>> check it every 0.1 sec. I think it's not a problem for me, because RabbitMQ
>>> always should have a load in production. I did measured, that idle
>>> Mojolicious in this 'receiving' mode don't consume much resources. Just a
>>> 1-2% of CPU. But again, I think it really never will be idle.
>>>
>>> QUESTION: Do you see some pitfalls in this schema I have described? Is
>>> it OK?
>>> QUESTION 2: Maybe some advices to use another configuration or
>>> instruments to achieve my goals?
>>>
>>> Thanks,
>>> Dmitry
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Mojolicious" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at http://groups.google.com/group/mojolicious.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> С уважением, Денис Федосеев
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Mojolicious" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/mojolicious.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
С уважением, Денис Федосеев

-- 
You received this message because you are subscribed to the Google Groups 
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.

Reply via email to