Class Partition


  • public final class Partition
    extends Object
    Named set of servers defining a distributed service. A distribution load balancer expects data to be split up into shards referred to as "partitions", each partition exposing the same set of naming contexts, but only a sub-set of the data. For example, a distribution might have two partitions, the first containing all users whose name begins with A-M, and the second containing all users whose name begins with N-Z. Both partitions have the same naming contexts, e.g:
    dc=example,dc=com
    unsharded parent naming context replicated across all servers.
    Contains data common to all partitions, such as ACIs, groups, etc.
    ou=people,dc=example,dc=com
    sharded naming context whose content (the users) is split up according to some function, e.g. consistent hashing.
    See Also:
    ServiceDiscoveryMechanism.getPartition(Collection)
    • Field Detail

      • NULL_PARTITION

        public static final Partition NULL_PARTITION
        A partition implementing the null object pattern.
    • Method Detail

      • getPrimaryServers

        public Set<Partition.Server> getPrimaryServers()
        Returns the set of primary server to use.
        Returns:
        the set of primary server to use.
      • getSecondaryServers

        public Set<Partition.Server> getSecondaryServers()
        Returns the set of fallback servers to use.
        Returns:
        the set of fallback servers to use
      • getNonCompliantServers

        public Set<Partition.Server> getNonCompliantServers()
        Returns the set of servers which have been detected but cannot be used because they do not comply with the configuration of the service discovery mechanism (wrong base DN for example).
        Returns:
        the set of non-compliant servers
      • getPartitionId

        public String getPartitionId()
        Returns the ID for the partition.
        Returns:
        the ID for the partition