Reg. nginx_tcp_proxy_module

Hi All,

I have a below setup:

netcat client (nc localhost 8081) =====>nginx server(8081) with
tcp_proxy
module=====>2 netcat servers(8031 and 8032)

$ nc localhost 8081
biiiiiiiiiiiiiiiiii

$ nc -lk 8031
biiiiiiiiiiiiiiiiii

$ nc -lk 8032

If I kill the process $ nc -lk 8031, the client is also getting killed.

I expect the nginx server would read 0 bytes upon closing the connection
to
8031 server and it detects the server failover and it establishes the
connection to 8032 server so that the clients won’t experience any
downtime. Since the client establishes connection to only nginx at 8081,
it
should be shielded from failover of 8031 server.

Can anyone please help me if my understanding is wrong ??

Thanks
Eswar Rao

Hello!

On Tue, Apr 23, 2013 at 11:59:22AM +0530, ESWAR RAO wrote:

$ nc -lk 8031
downtime. Since the client establishes connection to only nginx at 8081, it
should be shielded from failover of 8031 server.

Can anyone please help me if my understanding is wrong ??

While I’m not really familiar with 3rd party tcp_proxy module, the
“reestablishing” connection would be really unexpected behaviour -
as the module doesn’t know anything about the protocol and can’t
assume there is no states associated with a connection on a client
and/or on a server.

That is, just dropping the connection looks correct. What the
module can do is to select a working server on connection
establishment.


Maxim D.
http://nginx.org/en/donation.html