5 Replies Latest reply on Apr 4, 2019 6:51 AM by Martien van den Akker

    What is the point of a web proxy or hardware proxy for a WebLogic Cluster/

    Ashish Raje

      This pertains to WebLogic 12c. I have seen multiple recommendations for a Web Proxy such as apache plugin or a hardware proxy / balancer such as Netscaler / BIG-IP etc.

      Since Weblogic Cluster is to provide fault tolerance and load balancing, why do I need another level?

      Some additional clarification:

      The cluster includes servers that are hosting web application deployments. The applications are accessible via a URL such as: https://cluster_address:port/application

      If we are comfortable with using the same URL, is there any reason to use OHS / Apache or a Hardware balancer?

       

      Thanks in advance for providing clarification.

        • 1. Re: What is the point of a web proxy or hardware proxy for a WebLogic Cluster/
          Martien van den Akker

          Hi,

           

          I hope I understand your question correctly. A cluster in Weblogic is not (much) more then an administrative concept. It helps doing deployments to multiple servers and it helps servers work together. A server that is part of a cluster 'knows' that he is part of larger system. One of those may be the cluster 'master' and they might take over work for each other.

          But a cluster is not a running service. All is done by the managed servers. And each managed server that is part of a cluster can run on a separate physical/virtual server. That means that they have all their own listen address and listen port.

           

          There for you need a loadbalancer or a reversed proxy that listens to your https://cluster_address:port/application address and takes the "/application" part to route a request to a member of the appropriate cluster.

           

          Then, a cluster member (managed server) might conclude that the client needs to load extra artefacts. And therefor reroutes the client to a next artefact over an url. But the loadbalancer/reversed proxy might be called over https:// (TLS) but routes to the clustermember over plain http://. The member needs to know that it is fronted by a reversed proxy. That's the Proxy Plugin property on the cluster for. (Also available on cluster or domain level.)

          It enables the member to read header properties that are set by the proxy plug-in. And thus a webproxy (such as Apache) needs to have this weblogic plugin enabled. The weblogic plugin also loadbalances and notices if a member is added or removed/down from the cluster.

           

          Hope this clearyfies a bit.

           

          Regards,
          Martien

          1 person found this helpful
          • 2. Re: What is the point of a web proxy or hardware proxy for a WebLogic Cluster/
            Ashish Raje

            Martien, Thanks for your reply. I am still unclear about how my cluster is serving pages from my deployment.

            Cluster address: C2MPRDAPP.tid.org

            Managed Server 1: Tied to Machine -> C2MPRDAPP1.tid.org port 6501

            Managed Server 2: Machine -> C2MPRDAPP2.tid.org port 6501

            I have a deployment SPLWeb targeted to cluster. The deployment has module /ouaf

            Every time users type following in browser, they are routed to the web application in a round robin manner:

            https://c2mprdapp.tid.org:6501/ouaf

            We have also configured it to keep sticky session so the same user keeps on going to same managed server.

            It seems like everything is working the way it should be working without a web application server or hardware load balancer.

            This is why I am confused because I don't know what I am missing here. It appears like weblogic is acting like a web server. So why not leave well enough alone....

            Thanks, Ashish

            • 3. Re: What is the point of a web proxy or hardware proxy for a WebLogic Cluster/
              Martien van den Akker

              H Ashish,

               

              The URL https://c2mprdapp.tid.org:6501 should point to a certain machine. It is interesting to know if that is one of the machines that run the managed servers and then which one of them.

               

              "I have a deployment SPLWeb targeted to cluster. The deployment has module /ouaf" => this means that it runs on the two managed servers. So the cluster URL should either point to a web server, or to one of the managed servers.

               

              The webapp /ouaf (if it actally is a webapp) routes to the managed servers. If I were you I'd draw a picture and investigate if and how C2MPRDAPP.tid.org, C2MPRDAPP1.tid.org and C2MPRDAPP2.tid.org are different machines/hosts.

               

              Then investigate what is actually running on C2MPRDAPP.tid.org (the so called cluster-url). I would expect an apache server or a like. Or maybe C2MPRDAPP.tid.org is the address of a (hardware) loadbalancer like F5. Talk to the network department on how they aranged the addresses and routes.

               

              I'm not sure if /ouaf is actually a webapp and not a URI/route on the loadbalancer. Because if it would be a webapp on the weblogic cluster, than it would actually run on the managed servers. And then the cluster address should point to one of them, causing all the requests initially go to that particular managed server. Then that app would reroute the client to one of the managed servers. Then that app would be the loadbalancer, but very dependend on one of the managed servers (not very HA). If you would have defined a FrontEndHost address on the cluster or managed servers, the managedservers would rewrite the URL to the cluster, having it routed to the one managedserver (if the above is really the case). And that would make that in the end only one managed server would actually execute the requests. I doubt that this is the case.

               

              Therefor could you confirm how the network picture including the hosts looks like?

               

              Regards,
              Martien

              1 person found this helpful
              • 4. Re: What is the point of a web proxy or hardware proxy for a WebLogic Cluster/
                Ashish Raje

                Yes! I understand now. I had completely misunderstood the topology. Thanks a lot for taking your time to explain it.

                Actually, I don't know the actual DNS setup but this is what I found.

                C:\Users\Asr>ping c2mprdapp1

                Pinging c2mprdapp1.tid.org [172.17.221.21] with 32 bytes of data:

                 

                 

                C:\Users\Asr>ping c2mprdapp2

                Pinging c2mprdapp2.tid.org [172.17.221.22] with 32 bytes of data:

                 

                C:\Users\Asr>ping c2mprdapp

                Pinging c2mprdapp.tid.org [172.17.221.21] with 32 bytes of data:

                 

                So the cluster is pointing to one of the managed servers.

                • 5. Re: What is the point of a web proxy or hardware proxy for a WebLogic Cluster/
                  Martien van den Akker

                  If it is like it seems that the app on the c2mprdapp1 weblogic server is doing the 'loadbalancing', I would encourage you to have OHS implemented and configured as a loadbalancer. The thought that your 'cluster-address'-url point to the same listen address as the apparent listen address of the managed server suggests just that. It makes your setup completely dependend on the c2mprdapp1 server. Every request then goes through that server and some of it would be redirected to the other server.

                   

                  Much better is to have an OHS (or Apache if you prefer) installed on one of the c2mprdapp1 machine and have it listen on port 6500 or even port 80 (default is 7777) if you wish. Then you can have it reroute the /ouaf URI to the cluster.

                   

                  It will then loadbalance the request having an even distribution. It even allows you to bring down the c2mprdapp1 managed server without affecting the other.

                   

                  If you have a domain based on a FusionMiddleware Infrastructure 12c, you can even create the OHS as a colocated OHS that can be managed from em.

                   

                  Regards,

                  Martien