2 Replies Latest reply on May 13, 2008 11:09 PM by 3004

    Preference for managed servers?

    666705
      Hi
                
                I was wondering if it’s possible to configure a cluster with a particular proxy server using some managed servers until they fail before using others.
                
                Example scenario:
                
                There is one weblogic domain consisting of 6 managed servers. Two server are located in the US(usms1,usms2), two in the UK(ukms1,ukms2) and two in Sweden(sems1,sems2). To access the cluster users go via a software load balancer (HttpClusterServlet or similar). 3 Instances of the software balancer exist, 1 in each of the countries above.
                
                Question:
                
                Can you configure the software load balancers so: if the request comes from the US software load balancer (slb) that it uses the usms1 and usms2 all the time unless they both fail in which case use any from the remaining (ukms1,ukms2,sems1,sems2). Like wise on the UK slb configure it to use ukms1 and uksm2 until they both die and then use any of usms1,usms2,sems1,sems2. The same thing again for Sweden.
                
                We do have another way of doing this by creating 3 domains with a cluster of just the two managed server and failover to the other domains via some higher level hardware devices (not a load balancer) but this involves a short period of “outage” which it would be nice if we could avoid by having the one cluster then we only use the hardware to ‘failover’ to another software load balancer if one fails.
        • 1. Re: Preference for managed servers?
          666705
          The problem i was having was that despite the fact i only specified 2 of the 6 the managed servers in my cluster in the config file it would end up finding the other 4 from the cluster and start routing requests to those. Which due the differences in geographical location is was not what we wanted. This happens because after the first request the cluster responds with a "Dynamic Server List" which the cluster constantly updates after each request and it contains a list of all the "UP" server in the cluster. This is how the HttpClusterServlet was learning of the other 4 machines.
                    
                    The solution was to use the weblogic plugin with apache etc and use apache as the proxy / balancer. In the plugin configuration you can specify to disable the Dynamic Server List with the parameters "DynamicServerList OFF". This mean the instance of apache only ever tries to communicate with the servers you specify in the weblogiccluster parameter and it ignores the Dynamic Server List returned from the cluster.
          • 2. Re: Preference for managed servers?
            3004
            David Ingham wrote:
                      > The problem i was having was that despite the fact i only specified 2 of the 6 the managed servers in my cluster in the config file it would end up finding the other 4 from the cluster and start routing requests to those. Which due the differences in geographical location is was not what we wanted. This happens because after the first request the cluster responds with a "Dynamic Server List" which the cluster constantly updates after each request and it contains a list of all the "UP" server in the cluster. This is how the HttpClusterServlet was learning of the other 4 machines.
                      >
                      > The solution was to use the weblogic plugin with apache etc and use apache as the proxy / balancer. In the plugin configuration you can specify to disable the Dynamic Server List with the parameters "DynamicServerList OFF". This mean the instance of apache only ever tries to communicate with the servers you specify in the weblogiccluster parameter and it ignores the Dynamic Server List returned from the cluster.
                      
                      Its been a while since I configured this kind of thing, but do you not
                      need 3 clusters - UK, US & Sweden?
                      
                      Each of the 3 clusters would have it's own cluster address and only know
                      about the two servers in it.
                      
                      The load balancer could then be configured to use US cluster and fail
                      over to the other cluster in the event of a failure.
                      
                      I reckon, if the servers were all in the same cluster, even though you
                      specify a list of servers in the load balancer, that as they are all
                      chatting together with multicast, that this is where you started having
                      problems with it not working.
                      
                      Just thinking this through - if you have 3 clusters, that presents
                      another problem (apart from deployment), as where do you want the backup
                      session information stored - if you have a US/UK/SWE cluster, then
                      session info will only be stored in each of the 3 regions.
                      
                      Actually - with your apache solution, does session fail-over work ok?
                      I'm not sure it would in all cases as you've manually stopped the plugin
                      keeping track of all servers in the cluster.
                      
                      Not sure if I've been any help,
                      Pete