NAME¶
Catalyst::TraitFor::Model::DBIC::Schema::Replicated - Replicated storage support
for Catalyst::Model::DBIC::Schema
SYNOPSiS¶
__PACKAGE__->config({
traits => ['Replicated']
connect_info =>
['dbi:mysql:master', 'user', 'pass'],
replicants => [
['dbi:mysql:slave1', 'user', 'pass'],
['dbi:mysql:slave2', 'user', 'pass'],
['dbi:mysql:slave3', 'user', 'pass'],
],
balancer_args => {
master_read_weight => 0.3
}
});
DESCRIPTION¶
Sets your storage_type to DBIx::Class::Storage::DBI::Replicated and connects
replicants provided in config. See that module for supported resultset
attributes.
The default "balancer_type" in DBIx::Class::Storage::DBI::Replicated
is "::Random".
Sets the "master_read_weight" in
DBIx::Class::Storage::DBI::Replicated::Balancer::Random to 1 by default,
meaning that you have the same chance of reading from master as you do from
replicants. Set to 0 to turn off reads from master.
CONFIG PARAMETERS¶
replicants¶
Array of connect_info settings for every replicant.
The following can be set via "connect_info" in
Catalyst::Model::DBIC::Schema, or as their own parameters. If set via separate
parameters, they will override the settings in "connect_info".
pool_type¶
See "pool_type" in DBIx::Class::Storage::DBI::Replicated.
pool_args¶
See "pool_args" in DBIx::Class::Storage::DBI::Replicated.
balancer_type¶
See "balancer_type" in DBIx::Class::Storage::DBI::Replicated.
balancer_args¶
See "balancer_args" in DBIx::Class::Storage::DBI::Replicated.
SEE ALSO¶
Catalyst::Model::DBIC::Schema, DBIx::Class,
DBIx::Class::Storage::DBI::Replicated,
Catalyst::TraitFor::Model::DBIC::Schema::Caching
AUTHOR¶
See "AUTHOR" in Catalyst::Model::DBIC::Schema and
"CONTRIBUTORS" in Catalyst::Model::DBIC::Schema.
COPYRIGHT¶
See "COPYRIGHT" in Catalyst::Model::DBIC::Schema.
LICENSE¶
This program is free software, you can redistribute it and/or modify it under
the same terms as Perl itself.