Provided by: libdbix-class-perl_0.08250-2_all bug

NAME

       DBIx::Class::Storage::DBI::Replicated::Balancer::Random - A 'random' Balancer

SYNOPSIS

       This class is used internally by DBIx::Class::Storage::DBI::Replicated.  You shouldn't
       need to create instances of this class.

DESCRIPTION

       Given a pool (DBIx::Class::Storage::DBI::Replicated::Pool) of replicated database's
       (DBIx::Class::Storage::DBI::Replicated::Replicant), defines a method by which query load
       can be spread out across each replicant in the pool.

       This Balancer uses List::Util keyword 'shuffle' to randomly pick an active replicant from
       the associated pool.  This may or may not be random enough for you, patches welcome.

ATTRIBUTES

       This class defines the following attributes.

   master_read_weight
       A number greater than 0 that specifies what weight to give the master when choosing which
       backend to execute a read query on. A value of 0, which is the default, does no reads from
       master, while a value of 1 gives it the same priority as any single replicant.

       For example: if you have 2 replicants, and a "master_read_weight" of 0.5, the chance of
       reading from master will be "20%".

       You can set it to a value higher than 1, making master have higher weight than any single
       replicant, if for example you have a very powerful master.

METHODS

       This class defines the following methods.

   next_storage
       Returns an active replicant at random.  Please note that due to the nature of the word
       'random' this means it's possible for a particular active replicant to be requested
       several times in a row.

AUTHOR

       John Napiorkowski <john.napiorkowski@takkle.com>

LICENSE

       You may distribute this code under the same terms as Perl itself.

perl v5.18.1                         DBIx::Class::Storage::DBI::Replicated::Balancer::Random(3pm)