ADOdb

Database Abstraction Layer for PHP

User Tools

Site Tools


v5:loadbalancer:mysql_replication:creating_connections

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
v5:loadbalancer:mysql_replication:creating_connections [2016/06/13 01:11] mnewnhamv5:loadbalancer:mysql_replication:creating_connections [2017/04/28 02:09] (current) mnewnham
Line 4: Line 4:
 Each of the connections in the connection pool are defined in the exact same way as a normal ADOdb connection, which makes it simple to add the functionality of existing code. This is shown below: Each of the connections in the connection pool are defined in the exact same way as a normal ADOdb connection, which makes it simple to add the functionality of existing code. This is shown below:
  
-^Existing ADOdb Connection^Load Balance| +^ Existing ADOdb Connection                                   ^ Load Balance                                                                                  ^ 
-|+|                                                             | Instantiate Load Balancer as $db                                                              
 +Instantiate ADOdb as $db                                    | Instantiate ADOdb as $db0, designating the connection as the primary (read-write) connection 
 +| Connect $db to database using normal connection parameters  | Connect $db0 to database using normal connection parameters                                   | 
 +|                                                             | Add connection $db0 to connection pool $db                                                    | 
 +|                                                             | Instantiate ADOdb as $db1, designating the connection as a secondary (read-only) connection   | 
 +|                                                             | Add Connection $db1 to connection pool $db                                                    | 
 +|                                                             | Repeat for available number of secondary servers                                              | 
 +| Execute commands against connection $db                     | Execute commands against connection pool $db                                                  | 
 + 
 +We show that here, first by creating a normal connection, using a MySQL database 
 +<code php> 
 +$db = newAdoConnection('mysqli'); 
 +$db->connect('host','user','pass','database'); 
 +$db->execute('select * from employees'); 
 +</code> 
 +If we create a load balanced connection, but only assign one server, the method is exactly the same 
 +<code php> 
 +$db = new ADOdbLoadBalancer; 
 + 
 +$db0 = new ADOdbLoadBalancerConnection('write',1,'host','user','pass','database'); 
 +$db->addConnection($db0); 
 + 
 +$db->execute('select * from employees'
 +</code> 
 + 
 +Note that because we have not assigned any ''readonly'' nodes, the ''write'' node assumes the responsibility
v5/loadbalancer/mysql_replication/creating_connections.1465773076.txt.gz · Last modified: 2017/04/21 11:30 (external edit)