This is an old revision of the document!
ADOdbLoadBalancerConnection
Applies To
ADOdb Load Balancer
See Also
getADODbObject()
addConnection()
Syntax
class ADOdbLoadBalancerConnection( string $driverName, optional string $connectionType='write', optional int $connectionWeight=1, optional bool $persitantConnection=false, optional string $host, optional string $user, optional string $password, optional string $database
Description
The class ADOdbLoadBalancerConnection
is the replacement for adoNewConnecton() and instantiates an ADOdb connection that can be retrieved and added to the connection pool.
Parameters
$driverName
The name of the ADOdb driver to be used to establish the connection. Currently only the drivers mysqli and postgres9 can be used.
$connectionType
A connection may be of the type write
, which designates the primary server through which all update operations are passed, and readonly
, which signifies a secondary server through which some or all of the read-only operations are passed. Only one write
connection can be designated, but there is no limit to the number of readonly
connections.
$connectionWeight
For readonly
connections, specifying a weight for the connection will influence how many queries are routed through a specific server. The higher the weight, the more often the server is used. If all readonly
servers are defined with the same weight, then a connection randomiser effect is obtained.
$persistantConnection
Other Parameters
The other parameters are defind the same as the equivalent connection parameters in ADOdb .
Usage
$driver = 'mysqli'; $db = new ADOdbLoadBalancer( $driver ); $database = 'employees'; $user = 'adodb'; $password = 'adodb'; $host = '192.168.0.200'; $db0 = new ADOdbLoadBalancerConnection( $driver, 'write', 10, false, $host, $user, $password, $database ); $db0->getADODbObject(); $db->addConnection( $db0 ); $host = '192.168.0.201'; $db1 = new ADOdbLoadBalancerConnection( $driver, 'readonly', 20, false, $host, $user, $password, $database ); $db1->getADODbObject(); $db->addConnection( $db1 ); $host = '192.168.0.202'; $db2 = new ADOdbLoadBalancerConnection( $driver, 'readonly', 30, false, $host, $user, $password, $database ); $db2->getADODbObject(); $db->addConnection( $db2 );