ADOdb

Database Abstraction Layer for PHP

User Tools

Site Tools


v5:reference:loadbalancer:adodbloadbalancerconnection

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 all 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 );
v5/reference/loadbalancer/adodbloadbalancerconnection.1492477546.txt.gz · Last modified: 2017/04/21 11:37 (external edit)