Wednesday, September 28, 2011

WebCache 11g. Name based balance

We used to use WebCache as load balancer for SOA 10/11g cluster from the first prototypes. I have to notice that it's the only one component that has no issues for ages.

SoŠ± for some reasons we should to reconfigure OiD/OIDDAS server and change the access url for sso and oiddas services. I decided to configure WebCache as a proxy to pass user's request to identity server and vice versa. I've created additional server definitions for ports 80 and 443. Network admins, changed for us DNS and allowed Webcache access identity system by application ports (they are defaults 7777 and 4443).
Site definitions
Then, I've created site to server mappings, and voila, the system is ready to manage requests soa11 for a cluster and ldap for user management.  After a while, SOA applications admin noticed me that they couldn't see some services, so the process couldn't receive callbacks. 
The results of the short investigation  was - If some process calls web service by the server name for example - http://soa11.telecom/osb/someService  - it works fine, if it uses IP address it fails.

Gosh, when they start using names instead of addresses! By the way, I have to manage this situation; because even developers immediately redeploy the new versions, there are still be callback messages with direct IP.

So the problem is on the top, before reconfiguration, WebCache sent any request with any name to only one destination (actually balance to the two HTTP servers) and now it has to decide who will be receiver for the message. The solution is quite easy; I’ve added aliases to the SOA site definitions, so the final site definitions table is
Final Site definitions table
In the last column you can see couple aliases for the site definition. Apply configuration, restart WebCache and now it definitely works.

No comments: