Matt S Trout > DBIx-Class-0.08100 > DBIx::Class::Storage::DBI::Replicated::Balancer::Random

Download:
DBIx-Class-0.08100.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  11
Open  18
Stalled  11
View/Report Bugs
Source   Latest Release: DBIx-Class-0.082810

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.

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.

syntax highlighting: