launchpad-dev team mailing list archive
-
launchpad-dev team
-
Mailing list archive
-
Message #04446
Re: optimizing adding team members
On Tue, Aug 24, 2010 at 5:58 AM, Sidnei da Silva
<sidnei.da.silva@xxxxxxxxxxxxx> wrote:
> On Tue, Aug 10, 2010 at 7:55 PM, Robert Collins
> <robert.collins@xxxxxxxxxxxxx> wrote:
>> >From our end, I'd love that to look like this:
>> - we receive a request
>> - we commit the *intent*, dispatch to a queue
>> - the request puts itself into long-poll mode
>> - the queue processes the work
>> - the queue callsback the appserver which reactivates the request
>> which then delivers the users response
>>
>> Thats going to need some serious plumbing, a rearrangement of /all/
>> the global-request-specific-state and so on. Not on the cards for now.
>
> Only if implemented in the way you describe above. What we do in
> Landscape goes as follows:
>
> - we receive a request
> - we commit the *intent*, dispatch to a queue, generate a page identifier
> - we deliver the response back to the user, basically a page with a spinner
> - a new (XHR) request is fired, in long-poll mode, with the page identifier
> - the queue processes the work
> - the queue notifies that it's done, making the long-poll request
> return and delivering the response
This has two characteristics that what I described does not, and both
are constraints.
Firstly, it adds another client round trip. Thats (optimistically)
300ms from here, and also, importantly, upwards of 200ms in Asia,
where we have a lot of commercial users.
Secondly, the Landscape implementation uses a new host name, which
adds an SSL handshake if no TCP connection is open (common for only
occasionally used services), and even key exchange if the key is out
of the cache.
Thirdly, you need to render long poll responses in a different
appserver environment than your regular one, which adds programming
and programmer friction.
None of those things are desirable IMO. I admire the Landscape
engineering effort to deliver what you have, but I don't think we
should aim for that; we should aim high and only compromise by
conscious choice.
-Rob
Follow ups
References