Forum Discussion
Round Robin Multiple URIs per server with multiple servers
I would like to route a client's URI request to multiple servers with multiple services.
Each server will be running multiple services that have unique URIs.
All services are using net.tcp port 808 with Client / Server authentication.
Currently we have four servers all running only one XService.
The client sends a request to our LTM,
net.tcp://LTM/XService/XService.svc/net.tcp
Using Round Robin, the LTM redirects to
net.tcp://PServer1/XService/XService.svc/net.tcp
net.tcp://PServer2/XService/XService.svc/net.tcp
net.tcp://PServer3/XService/XService.svc/net.tcp
net.tcp://PServer4/XService/XService.svc/net.tcp
I would like to increase the services on each server from 1 to 5 and add them to the pool.
The service name URI changes slightly.
The LTM would then redirect requests to
net.tcp://PServer1/XService1/XService.svc/net.tcp
net.tcp://PServer1/XService2/XService.svc/net.tcp
net.tcp://PServer1/XService3/XService.svc/net.tcp
net.tcp://PServer1/XService4/XService.svc/net.tcp
net.tcp://PServer1/XService5/XService.svc/net.tcp
net.tcp://PServer2/XService1/XService.svc/net.tcp
net.tcp://PServer2/XService2/XService.svc/net.tcp
net.tcp://PServer2/XService3/XService.svc/net.tcp
net.tcp://PServer2/XService4/XService.svc/net.tcp
net.tcp://PServer2/XService5/XService.svc/net.tcp
net.tcp://PServer3/XService1/XService.svc/net.tcp
net.tcp://PServer3/XService2/XService.svc/net.tcp
net.tcp://PServer3/XService3/XService.svc/net.tcp
net.tcp://PServer3/XService4/XService.svc/net.tcp
net.tcp://PServer3/XService5/XService.svc/net.tcp
net.tcp://PServer4/XService1/XService.svc/net.tcp
net.tcp://PServer4/XService2/XService.svc/net.tcp
net.tcp://PServer4/XService3/XService.svc/net.tcp
net.tcp://PServer4/XService4/XService.svc/net.tcp
net.tcp://PServer4/XService5/XService.svc/net.tcp
Can some help me with the iRules to make this work?
7 Replies
- Kevin_Stewart
Employee
Are these 5 different sets of services, based on URI, that might go into 5 different pools, or do you need to modify the URI based on the pool member selected? - jo001wr_130455
Nimbostratus
Actual both are desired.
Initially, I would like to modify the URI based on the pool member selected.
Long term, I may have the need for multiple pools. - Kevin_Stewart
Employee
I'm assuming that PServer1 is a server with a single IP address in a pool and that XService1 through 5 are simply 5 separate services running under different URIs of the same host. If that's true, then I suppose the next questions are:
1) How do clients request the services (by URI specifically), or
2) Do you need to simply, as the topic line suggests, round robin through the services (the client doesn't specify a service URI)? - jo001wr_130455
Nimbostratus
2) Round robin through the services, the client does not specify a service URI and does not care which service processes the request. - Kevin_Stewart
Employee
One more question. Is this HTTP-based on the server side? - jo001wr_130455
Nimbostratus
Each service on each server has a keep alive ping HTTP URI and a target service Net.Tcp URI.
i.e.
http://PServer1/Ping/XService1
http://PServer1/Ping/XService2
http://PServer1/Ping/XService3
http://PServer1/Ping/XService4
http://PServer1/Ping/XService5
http://PServer2/Ping/XService1
http://PServer2/Ping/XService2
http://PServer2/Ping/XService3
http://PServer2/Ping/XService4
http://PServer2/Ping/XService5
All of the client requests are net.tcp only. - jo001wr_130455
Nimbostratus
Is this possible with iRules or is this beyond the capabilities of iRules?
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