Forum Discussion

jo001wr_130455's avatar
jo001wr_130455
Icon for Nimbostratus rankNimbostratus
Jul 25, 2013

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

  • 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?
  • 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.

     

  • 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)?

     

  • 2) Round robin through the services, the client does not specify a service URI and does not care which service processes the request.
  • 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.