Forum Discussion
Subsequent calls bypass the F5
I have a virtual server, pool and list of pool members.
When an application connects via the virtual server its call is routed to the pool and one of the pool members picks it up.
But if I remove that member from the pool, the next call still goes to that same server (the one backing the removed pool member).
Is there a way I can fool the application into connecting to the F5 and then having each call passed out to the pool members as they come in?
I have tried setting up OneConnect, but it does not seem to have worked.
I would love to hear any suggestions.
UPDATE:
Here is a more detailed example.
I have a Virtual Server created in Local Traffic Manager. We can call it OrderServiceVirtualServer.
The OrderServiceVirtualServer has a Default Pool which we can call OrderServicePool.
The OrderServicePool has 3 pool members. We can call them Server1:20007, Server 2:20007 and Server3:20007.
Those pool members are "backed" by nodes that can handle the service calls. Pool member Server1:2007 is backed by node Server1, pool member Server2:20007 is back by node Server2 and pool member Server2:20007 is backed by node Server2. Each of these nodes point to different servers.
So, a call comes in from a client (we can call the client Machine001) to the OrderServiceVirtualServer. The virtual server passes the call to the OrderServicePool.
The OrderServicePool is setup to do Round Robbin loadbalancing. So it picks the next pool member to send the call to. Lets say it is Server1:20007.
The call is then sent to the node Server1, that gets the call to the is the actual computer (We can call it ComputerServer1) that can handle it. It is fulfilled successfully and the response is sent back to the client (Machine001).
Everything up to this point has worked correctly.
But next, I go to the OrderServicePool and remove the pool member Server1:20007 (and it successfully disappears from the pool's member list).
Now, the same client (Machine001) makes the call again.
This is where things go wrong. Somehow, the same server (ComputerServer1) that handled the previous request gets and handles the call again.
It should not do this (to my understanding), because the call should have come into the OrderServiceVirtualServer, which would have sent the call to the default pool (OrderServicePool), which would have picked from the list of pool members. Server1:20007 is not in the pool member list any more. And the existing pool member, Server2:20007 and Server3:20007, do not point to the server that handled the request (ComputerServer1).
On top of this, when ComputerServer1 is shutdown, the client (Machine001) gets an error saying that the connection was forceably closed.
It seems like the client (Machine001) is creating a direct connection with the server (ComputerServer1). But I need it to connect to the F5 and have the F5 just forward the call to which ever pool member is available.
Your statements are not clear, please explain again with example.
If you simply disable a pool member active connections will remain. Try to force offline rather than just disable?
What makes you think One-connect is not working?
I am not disabling the pool member. I remove it from the pool completely. I will try a force offline first to see if that will work differently.
I think that this might be the issue. Removing the members from the configuration would prevent new connections from reaching the members, but the existing connections might still be retained (some parts of the configuration is "cached" on a connection basis).
As I understood One-connect, it would keep the connection from the client request at the F5, instead at the server that is fulfilling the request. I think One-connect is not working because if I turn off the server that is fulfilling the request, it is able to send a Connection Forceably Closed error message to the client. (Showing that the client is directly connected to the server that is fulfilling the request.)
When you mention "it is able to send a Connection..." are you referring to the server sending it, or the F5?
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com