---
name: "MR::IProto::Cluster"
section: "3pm"
platform: "linux"
package: "libmr-tarantool-perl"
version: "0.0.24-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/MR::IProto::Cluster"
---

# MR::IProto::Cluster(3pm)

cluster of servers

## NAME

MR::IProto::Cluster - cluster of servers

## DESCRIPTION

This class is used to implement balancing between several servers.

## EXPORTED CONSTANTS

- RR

  Round robin algorithm

- HASH

  Hashing algorithm using CRC32

- KETAMA

  Ketama algorithm

## ATTRIBUTES

- balance

  Balancing algorithms. Possible values are constants: RR, HASH, KETAMA. Or their string analogs: 'round-robin', 'hash-crc32', 'ketama'.

- servers

  ArrayRef of MR::IProto::Cluster::Server.

## PUBLIC METHODS

- server( $key? )

  Get server from balancing using `$key`.

- timeout( $new? )

  Used to set `$new` timeout value to all servers. If argument is skipped and timeout is equal for all servers then returns it value, if timeout is different then returns undef.

## SEE ALSO

MR::IProto, MR::IProto::Cluster::Server.
