Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства для  версии 10.9 Mac OS X

Если Вы выполняете различную версию  Mac OS X, просматриваете документацию локально:

Читать страницы руководства

Страницы руководства предназначаются как справочник для людей, уже понимающих технологию.

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.



DBIx::Class::Storage::DBI::Replicated::Balancer(3)ted PerlDDocumentationtorage::DBI::Replicated::Balancer(3)



NAME
       DBIx::Class::Storage::DBI::Replicated::Balancer - A Software Load Balancer

SYNOPSIS
       This role is used internally by DBIx::Class::Storage::DBI::Replicated.

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.

ATTRIBUTES
       This class defines the following attributes.

   auto_validate_every ($seconds)
       If auto_validate has some sort of value, run "validate_replicants" in
       DBIx::Class::Storage::DBI::Replicated::Pool every $seconds.  Be careful with this, because if you set
       it to 0 you will end up validating every query.

   master
       The DBIx::Class::Storage::DBI object that is the master database all the replicants are trying to
       follow.  The balancer needs to know it since it's the ultimate fallback.

   pool
       The DBIx::Class::Storage::DBI::Replicated::Pool object that we are trying to balance.

   current_replicant
       Replicant storages (slaves) handle all read only traffic.  The assumption is that your database will
       become readbound well before it becomes write bound and that being able to spread your read only
       traffic around to multiple databases is going to help you to scale traffic.

       This attribute returns the next slave to handle a read request.  Your "pool" attribute has methods to
       help you shuffle through all the available replicants via its balancer object.

METHODS
       This class defines the following methods.

   _build_current_replicant
       Lazy builder for the "current_replicant_storage" attribute.

   next_storage
       This method should be defined in the class which consumes this role.

       Given a pool object, return the next replicant that will serve queries.  The default behavior is to
       grab the first replicant it finds but you can write your own subclasses of
       DBIx::Class::Storage::DBI::Replicated::Balancer to support other balance systems.

       This returns from the pool of active replicants.  If there are no active replicants, then you should
       have it return the master as an ultimate fallback.

   around: next_storage
       Advice on next storage to add the autovalidation.  We have this broken out so that it's easier to
       break out the auto validation into a role.

       This also returns the master in the case that none of the replicants are active or just just forgot
       to create them :)

   increment_storage
       Rolls the Storage to whatever is next in the queue, as defined by the Balancer.

   around: select
       Advice on the select attribute.  Each time we use a replicant we need to change it via the storage
       pool algorithm.  That way we are spreading the load evenly (hopefully) across existing capacity.

   around: select_single
       Advice on the select_single attribute.  Each time we use a replicant we need to change it via the
       storage pool algorithm.  That way we are spreading the load evenly (hopefully) across existing
       capacity.

   before: columns_info_for
       Advice on the current_replicant_storage attribute.  Each time we use a replicant we need to change it
       via the storage pool algorithm.  That way we are spreading the load evenly (hopefully) across
       existing capacity.

   _get_forced_pool ($name)
       Given an identifier, find the most correct storage object to handle the query.

AUTHOR
       John Napiorkowski <jjnapiork@cpan.org>

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



perl v5.16.2                                     2012-08-16BIx::Class::Storage::DBI::Replicated::Balancer(3)

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

Ошибки содержания
Ошибки отчета в содержании этой документации к проекту Perl. (См. perlbug (1) для инструкций представления.)
Отчеты об ошибках
Сообщите об ошибках в функциональности описанного инструмента или API к Apple через Генератор отчетов Ошибки и к проекту Perl, использующему perlbug (1).
Форматирование проблем
Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.