Bridge mode eliminates the need to create or define users and passwords
user.map file. Instead, the connector acts
as a router connecting the network sockets between client application and
Bridge mode provides a simpler method for connecting clients to MySQL, but with reduced facilities, as outline in the table below:
|Feature||Proxy Mode||Bridge Mode|
|Automatic Read/Write Splitting||Yes||No|
|Application-based Read/Write Splitting||Yes||Yes|
|Data Source Selection||Current data source is checked to confirm latency and affinity||Pass-through|
Bridge mode connections operate as follows:
Client opens network connection to Connector
Connector allocates a network buffer for the client network connection to the database server
Connector opens a network connection to a database server based on the connection parameters (master/slave selection)
Connector allocates a network buffer for the database server to the client application
Connector directly attaches the network sockets sockets together
Because the network sockets between the two sides are connected directly together, the following behavior applies to bridge mode connections:
User authentication is handled directly by the database server, rather
than through the
In the event of a failover or switch of the database servers, all active connections to the affected servers are closed.
Smartscale and packet inspection to provide read/write splitting are not supported, since the Connector does not access individual packet data.
One key difference is in how slave latency checking is handled:
In Bridge mode, the latency is checked at connection time, then you will stick to the slave for the connection lifetime (which can be shortened if the slave goes offline).
In Proxy mode, the latency is re-evaluated before each transaction, which can bring the connection to another slave if the latency becomes too high during the life of the connection.
If you have long-lasting read-only connections that should not read from stale slaves, then use Proxy mode.
If your connection lifetime is short (i.e make/break - one transaction then disconnect), or your application is not sensitive to reasonably outdated data for reads, then use Bridge mode and its optional read-only port.
tpm configure alpha --connector-bridge-mode=true
The default value is
use the connector in bridge mode.
Bridge Mode can also be used with read-only database servers and affinity if required.
In addition to enabling and disabling Bridge Mode, the size of the
buffer can also be set by using the
parameters. This configures the size of the buffer used to hold packet
data before the packet is forwarded.
The default size is 262144 bytes (256KB).
A buffer is opened in each direction for each connection made to the connector when operating in bridge mode.
The total memory allocated can be calculated using the formula:
(connections * (bridgeClientToServerBufferSize + bridgeServerToClientBufferSize)
For example, with the default settings, 20 simultaneous connections will require 10MB of RAM to service the buffers. With the default connector heap size the Connector should be able to handle up to 500 simultaneous connections.