Erlang/OTP Forums

Author Message

<  RabbitMQ mailing list  ~  [Q] periodic queue delivery

Guest
Posted: Thu Dec 10, 2009 9:04 pm Reply with quote
Guest
I have a system that generates a lot of signals each second (between
200 and 1000). I would like to offer a "display panel" that shows the
current value.

So far this is pretty easy to solve. However, I only want to sample
the signal stream 5 times a second to update the display because
bandwidth to the display is "expensive."

A naive approach would be to send every signal to the display and have
it cherry pick the most recent value every 200ms. But as I said,
bandwidth is expensive so this approach won't work. Is there a
combination of exchanges & queues that could consume the entire stream
but only deliver an update every 200ms? Do I need to put a proxy
server in between the signal generator and the display to throttle the
message rate?

I am curious to know how others have solved this or a similar problem.

cr


_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post received from mailinglist
Guest
Posted: Fri Dec 11, 2009 9:50 pm Reply with quote
Guest
Chuck

RabbitMQ does not (yet) support any internal behaviours where time is
a parameter.

This points you to sampling and batching at the:

* Client
* "Proxy" (see Client)
* Plugin

The first approach is just fine for many cases. The last has the
strongest fate sharing properties.

alexis


On Thu, Dec 10, 2009 at 9:04 PM, Chuck Remes <cremes.devlist@mac.com> wrote:
> I have a system that generates a lot of signals each second (between
> 200 and 1000). I would like to offer a "display panel" that shows the
> current value.
>
> So far this is pretty easy to solve. However, I only want to sample
> the signal stream 5 times a second to update the display because
> bandwidth to the display is "expensive."
>
> A naive approach would be to send every signal to the display and have
> it cherry pick the most recent value every 200ms. But as I said,
> bandwidth is expensive so this approach won't work. Is there a
> combination of exchanges & queues that could consume the entire stream
> but only deliver an update every 200ms? Do I need to put a proxy
> server in between the signal generator and the display to throttle the
> message rate?
>
> I am curious to know how others have solved this or a similar problem.
>
> cr
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss@lists.rabbitmq.com
> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post received from mailinglist
Guest
Posted: Fri Dec 11, 2009 11:58 pm Reply with quote
Guest
Alexis,

thank you for your answer. I think at this time I'll go the proxy route since I can bang that code out pretty rapidly. I'll look at doing a plugin down the road unless someone else beats me to it.

cr

On Dec 11, 2009, at 3:49 PM, Alexis Richardson wrote:

> Chuck
>
> RabbitMQ does not (yet) support any internal behaviours where time is
> a parameter.
>
> This points you to sampling and batching at the:
>
> * Client
> * "Proxy" (see Client)
> * Plugin
>
> The first approach is just fine for many cases. The last has the
> strongest fate sharing properties.
>
> alexis
>
>
> On Thu, Dec 10, 2009 at 9:04 PM, Chuck Remes <cremes.devlist@mac.com> wrote:
>> I have a system that generates a lot of signals each second (between
>> 200 and 1000). I would like to offer a "display panel" that shows the
>> current value.
>>
>> So far this is pretty easy to solve. However, I only want to sample
>> the signal stream 5 times a second to update the display because
>> bandwidth to the display is "expensive."
>>
>> A naive approach would be to send every signal to the display and have
>> it cherry pick the most recent value every 200ms. But as I said,
>> bandwidth is expensive so this approach won't work. Is there a
>> combination of exchanges & queues that could consume the entire stream
>> but only deliver an update every 200ms? Do I need to put a proxy
>> server in between the signal generator and the display to throttle the
>> message rate?
>>
>> I am curious to know how others have solved this or a similar problem.
>>
>> cr
>>
>>
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss@lists.rabbitmq.com
>> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>>


_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post received from mailinglist

Display posts from previous:  

All times are GMT
Page 1 of 1
This forum is locked: you cannot post, reply to, or edit topics.

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum