[Twisted-web] [Athena] Is ReliableMessageDelivery really necessary?
spongelavapaul at googlemail.com
Fri Jul 3 05:56:28 EDT 2009
On 1 Jul 2009, at 22:45, Jean-Paul Calderone wrote:
> On Wed, 1 Jul 2009 11:15:35 +0100, Paul Thomas <spongelavapaul at googlemail.com
> > wrote:
>> I've hit a problem as my app has got bigger (about 30-40 widgets
>> now, all
>> chattering roughly once every 2 seconds) where the reliable message
>> delivery mechanism is spiralling out of control. It seems that the
>> back and forth means that large 'baskets' of messages are resent.
>> The more
>> this happens, the busier everything gets until the browser becomes
> If you can produce a minimal example which demonstrates this
> behavior, it
> would probably be very helpful in improving the situation.
I've been tasked with doing this anyway to help us evaluate other
solutions. I'm sure I can convince the boss to make it available.
>> There's a fix for it: [Divmod-dev] athena duplicate messages issue
>> but I'm
>> slightly concerned about the potential for lost messages - and also
>> confused about how this could happen. Given that HTTP is a reliable
>> connection-oriented transport, where is the gap that messages can
> Actually, HTTP is not a reliable transport. The most obvious
> it has is that there is no way for a server to know if a client
> a response or not, but there are others. So ReliableMessageDelivery
>> I think I can cope with lost messages in most cases, so would it
>> be useful
>> to add a kind of 'sendRemote' that was like 'callRemote' but
>> didn't care
>> about a response? Or maybe this already exists and I've missed it?
> This is an interesting idea. I haven't considered having such a
> feature in
> Athena before. It may be worth exploring. The first problem that
> comes to
> mind is that if any part of a page uses callRemote, sendRemote's
> are largely lost. This would be because the messages generated by
> will still need to be sent, so whatever retransmission logic is
> present in
> ReliableMessageDelivery will still be invoked.
Right - and I _would_ need both in the same page. Also, as Glyph
points out, I wouldn't like out-of-order messages.
>> P.S. this app is likely to get more noisy - is it likely that I'll
>> have to
>> abandon Athena for Orbited or similar? I mean, are there
>> differences that will prevent Athena scaling?
> I certainly hope that Athena can handle whatever load you intended
> to put on
> it, or that we can work together to fix whatever problems it has
> which would
> prevent that. :)
We'll be doing an evaluation soon. Performance will play a part but we
also have to consider integration with UI toolkits (jQuery UI etc.).
If we do stick with Athena, we'll be providing patches and tests.
Thanks to you both,
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Twisted-web