Telling senders to back off on overloaded server?
Norman Maurer
norman.maurer at googlemail.com
Wed Oct 26 01:22:00 EDT 2011
Just be aware that this will only prevent future reads. Everything
that is already in the "queue" will get dispatched to your
ChannelHandler.
Bye,
Norman
2011/10/26 Kevin Burton <burtonator at gmail.com>:
> Brilliant... that's what I thought :)
>
> Kevin
>
> On Tue, Oct 25, 2011 at 4:45 PM, "이희승 (Trustin Lee)" <trustin at gmail.com>
> wrote:
>>
>> Channel.setReadable(false)?
>>
>> Kevin Burton wrote:
>> > So how do you do this at the TCP layer and not use threads within
>> > Netty...
>> >
>> > You should be able to tell netty to not read from the socket even if
>> > it is available because you're not yet ready for the data.
>> >
>> > This way all TCP protocols will work the same way without application
>> > specific changes or controlling the client.
>> >
>> > Otherwise you have to use lots of threads which defeats the whole
>> > point :-(
>> >
>> > Kevin
>> >
>> > On Tue, Oct 25, 2011 at 4:23 PM, "이희승 (Trustin Lee)"
>> > <trustin at gmail.com <mailto:trustin at gmail.com>> wrote:
>> >
>> > Yes. If you have more control over the behavior of the client, I
>> > would make use of 100-continue, and send an error response when
>> > the server is under load.
>> >
>> > HTH
>> >
>> >
>> > Kevin Burton wrote:
>> > > I assume I basically have to change interest ops on the channel
>> > when
>> > > the buffer is empty/full?
>> > >
>> > > Kevin
>> > >
>> > > On Tue, Oct 25, 2011 at 4:18 PM, Kevin Burton
>> > <burtonator at gmail.com <mailto:burtonator at gmail.com>
>> > > <mailto:burtonator at gmail.com <mailto:burtonator at gmail.com>>>
>> > wrote:
>> > >
>> > > How do I tell the sender of data (I control both) to back
>> > off if I
>> > > can't accept any more data on the server?
>> > >
>> > > Specifically, I have an HTTP PUT implementation that first
>> > writes
>> > > to a queue and then I drain the queue to disk.
>> > >
>> > > When the queue fills up because the server is overloaded, I
>> > need a
>> > > way to tell the sender to back off...
>> > >
>> > > Normally the TCP buffers would just fill up on both ends and
>> > the
>> > > sender wouldn't receive ACKs any more and wouldn't send more
>> > > packets until the existing ones have been ack'd ...
>> > >
>> > > I just don't now how to tell Netty to stop sending me data
>> > because
>> > > I can't handle it...
>> > >
>> > > I don't want to use any threads in my application if they're
>> > not
>> > > needed.
>> > >
>> > >
>> > > _______________________________________________
>> > > netty-users mailing list
>> > > netty-users at lists.jboss.org <mailto:netty-users at lists.jboss.org>
>> > > https://lists.jboss.org/mailman/listinfo/netty-users
>> >
>> > _______________________________________________
>> > netty-users mailing list
>> > netty-users at lists.jboss.org <mailto:netty-users at lists.jboss.org>
>> > https://lists.jboss.org/mailman/listinfo/netty-users
>> >
>> >
>> > _______________________________________________
>> > netty-users mailing list
>> > netty-users at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/netty-users
>> _______________________________________________
>> netty-users mailing list
>> netty-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/netty-users
>
>
> _______________________________________________
> netty-users mailing list
> netty-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/netty-users
>
More information about the netty-users
mailing list