synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Kalnichevski <>
Subject Re: A basic non-blocking http/s implementation for Axis2/Synapse
Date Wed, 11 Oct 2006 10:00:21 GMT
On Wed, 2006-10-11 at 14:48 +0530, Asankha C. Perera wrote:
> Hi Oleg
> > Yes, it does. This is, however, a temporary hack that enabled me to test
> > NIO based I/O reactor using proven code from HttpCore proper. I am still
> > working on the asynchronous HTTP protocol handler, but I prefer
> > developing and testing code in short iterations.
> >   
> Sure.. I will definitely keep a close tab on HttpCore/NIO extensions and 
> look forward to the changes
> > Well, would you want to run a web service in production that can die on
> > you with 'out of memory' exception under load? I would not. This is way
> > worse that refusing connections under load due to the worker thread
> > depletion because it leaves the client without a reliable recovery
> > strategy. In my humble opinion AsyncWeb has severe architectural issues
> > due to its memory management. 
> >   
> I think some kind of throttling logic maybe able to help limit the 
> connections accepted/memory usage like the thread pools limit the cpu 
> exhaustion and overheads


In practical terms, though, that implies blocking, doesn't it? So, we
are back to where we started. ;-)

> > Do you have any interest in contributing some that code to
> > HttpComponents? 
> >   
> I am not an an expert in this space.. but would love to contribute any 
> code we develop if it is useful to someone. Also with your upcoming 
> changes to HttpCore/NIO, I think it would be possible for us to merge 
> back in someday soon .. so that we both benefit...

With a little bit of luck, inspiration and good will on the part of my
wife I may be able to finish the first take at the event-driven HTTP
protocol handler by the end of this week. I certainly want to see
HttpCore 4.0a3 released this month and am determined to work hard toward
that goal. I'll keep you posted on the progress or lack thereof.

If you want to make the convergence of out code bases more likely please
do consider using basic HTTP protocol primitives (such as Header,
RequestLine, StatusLine, HttpVersion and so on) from HttpCore. This code
has 5+ years of history and has been tested quite well. There is no
point rewriting it. Moreover, this should also enable you to put
HttpCookie and HttpAuth code on top of your HTTP transport and get
client-side HTTP state management and authentication for free.



> thanks
> asankha
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message