Forum Discussion
Tiaan_92076
Nimbostratus
May 15, 2008Corba Load Balancing
Hallo,
My question is probably more related to Corba that an iRule, but any help would be appreciated.
I need to load balance requests to a group of servers without persisting the connection to spread the load evenly. Meaning "state" or any other connection information will not be available on all the servers being load balanced.
I've written a simple server application returning the name of the server it's running on. The application is running on two nodes at the moment, using round robin, with the client application running on a 3rd system.
Using Ethereal I see the 1st request being made is a "Request : _is_a", thereafter "Request : ".
When a request is sent to a different server than the original an exception "omg.org.CORBA.BAD_PARAM" is thrown.
What needs to happen before I can send a request to a different server from the original?
Is it as easy as sending all the "_is_a" request to both nodes in the configuration?
My iRule:
when CLIENT_DATA {
log local0.info "Client Data"
set payload [TCP::payload]
binary scan $payload H* giop
set giop_id [substr $giop 24 8]
set service_context [substr $giop 88 8]
set sessionID ""
set sessionID [IP::client_addr]:[TCP::client_port]:$giop_id
set CurPersist [session lookup uie sesID]
log local0.info "CurPersist: $CurPersist sessionID: $sessionID"
if {$CurPersist eq ""} {
log local0.info "No session"
session add uie sesID $sessionID 5
} elseif {$CurPersist eq $sessionID} {
log local0.info "Current Corba request"
session add uie sesID $sessionID 5
} else {
log local0.info "New Corba request"
session add uie sesID $sessionID 5
LB::detach
}
TCP::release
TCP::collect
}
Thanks
Tiaan
No RepliesBe the first to reply
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects