1 person found this helpful
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.
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:
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....
1 person found this helpful
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?
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.
Pinging c2mprdapp1.tid.org [172.17.221.21] with 32 bytes of data:
Pinging c2mprdapp2.tid.org [172.17.221.22] with 32 bytes of data:
Pinging c2mprdapp.tid.org [172.17.221.21] with 32 bytes of data:
So the cluster is pointing to one of the managed servers.
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.