logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

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.

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.

Further Questions?

       Check the list of additional DBIC resources.

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.

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.

See Also