public static final class Protos.DomainInfo.Builder extends <any> implements Protos.DomainInfoOrBuilder
Describes a domain. A domain is a collection of hosts that have similar characteristics. Mesos currently only supports "fault domains", which identify groups of hosts with similar failure characteristics. Frameworks can generally assume that network links between hosts in the same fault domain have lower latency, higher bandwidth, and better availability than network links between hosts in different domains. Schedulers may prefer to place network-intensive workloads in the same domain, as this may improve performance. Conversely, a single failure that affects a host in a domain may be more likely to affect other hosts in the same domain; hence, schedulers may prefer to place workloads that require high availability in multiple domains. (For example, all the hosts in a single rack might lose power or network connectivity simultaneously.) There are two kinds of fault domains: regions and zones. Regions offer the highest degree of fault isolation, but network latency between regions is typically high (typically >50 ms). Zones offer a modest degree of fault isolation along with reasonably low network latency (typically <10 ms). The mapping from fault domains to physical infrastructure is up to the operator to configure. In cloud environments, regions and zones can be mapped to the "region" and "availability zone" concepts exposed by most cloud providers, respectively. In on-premise deployments, regions and zones can be mapped to data centers and racks, respectively. Both masters and agents can be configured with domains. Frameworks can compare the domains of two hosts to determine if the hosts are in the same zone, in different zones in the same region, or in different regions. Note that all masters in a given Mesos cluster must be in the same region. Complex deployments may have additional levels of hierarchy: for example, multiple racks might be grouped together into "halls" and multiple DCs in the same geographical vicinity might be grouped together. As a convention, the recommended way to represent additional levels of hierarchy is via dot- separated labels in the existing zone and region fields. For example, the fact that racks "abc" and "def" are in the same hall might be represented using the zone names "rack-abc.hall-1" and "rack-def.hall-1", for example. Software that is not aware of this additional structure will compare the zone names for equality- hence, the two zones will be treated as different (unrelated) zones. Software that is "hall-aware" can inspect the zone names and make use of the additional hierarchy.Protobuf type
mesos.DomainInfo
Modifier and Type | Method and Description |
---|---|
Protos.DomainInfo.Builder |
addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) |
Protos.DomainInfo |
build() |
Protos.DomainInfo |
buildPartial() |
Protos.DomainInfo.Builder |
clear() |
Protos.DomainInfo.Builder |
clearFaultDomain()
optional .mesos.DomainInfo.FaultDomain fault_domain = 1; |
Protos.DomainInfo.Builder |
clearField(com.google.protobuf.Descriptors.FieldDescriptor field) |
Protos.DomainInfo.Builder |
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) |
Protos.DomainInfo.Builder |
clone() |
Protos.DomainInfo |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.Descriptors.Descriptor |
getDescriptorForType() |
Protos.DomainInfo.FaultDomain |
getFaultDomain()
optional .mesos.DomainInfo.FaultDomain fault_domain = 1; |
Protos.DomainInfo.FaultDomain.Builder |
getFaultDomainBuilder()
optional .mesos.DomainInfo.FaultDomain fault_domain = 1; |
Protos.DomainInfo.FaultDomainOrBuilder |
getFaultDomainOrBuilder()
optional .mesos.DomainInfo.FaultDomain fault_domain = 1; |
boolean |
hasFaultDomain()
optional .mesos.DomainInfo.FaultDomain fault_domain = 1; |
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
Protos.DomainInfo.Builder |
mergeFaultDomain(Protos.DomainInfo.FaultDomain value)
optional .mesos.DomainInfo.FaultDomain fault_domain = 1; |
Protos.DomainInfo.Builder |
mergeFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
Protos.DomainInfo.Builder |
mergeFrom(com.google.protobuf.Message other) |
Protos.DomainInfo.Builder |
mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
Protos.DomainInfo.Builder |
setFaultDomain(Protos.DomainInfo.FaultDomain.Builder builderForValue)
optional .mesos.DomainInfo.FaultDomain fault_domain = 1; |
Protos.DomainInfo.Builder |
setFaultDomain(Protos.DomainInfo.FaultDomain value)
optional .mesos.DomainInfo.FaultDomain fault_domain = 1; |
Protos.DomainInfo.Builder |
setField(com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) |
Protos.DomainInfo.Builder |
setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
int index,
java.lang.Object value) |
Protos.DomainInfo.Builder |
setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
public Protos.DomainInfo.Builder clear()
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
public Protos.DomainInfo getDefaultInstanceForType()
public Protos.DomainInfo build()
public Protos.DomainInfo buildPartial()
public Protos.DomainInfo.Builder clone()
public Protos.DomainInfo.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
public Protos.DomainInfo.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
public Protos.DomainInfo.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
public Protos.DomainInfo.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
public Protos.DomainInfo.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
public Protos.DomainInfo.Builder mergeFrom(com.google.protobuf.Message other)
public final boolean isInitialized()
public Protos.DomainInfo.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOException
public boolean hasFaultDomain()
optional .mesos.DomainInfo.FaultDomain fault_domain = 1;
hasFaultDomain
in interface Protos.DomainInfoOrBuilder
public Protos.DomainInfo.FaultDomain getFaultDomain()
optional .mesos.DomainInfo.FaultDomain fault_domain = 1;
getFaultDomain
in interface Protos.DomainInfoOrBuilder
public Protos.DomainInfo.Builder setFaultDomain(Protos.DomainInfo.FaultDomain value)
optional .mesos.DomainInfo.FaultDomain fault_domain = 1;
public Protos.DomainInfo.Builder setFaultDomain(Protos.DomainInfo.FaultDomain.Builder builderForValue)
optional .mesos.DomainInfo.FaultDomain fault_domain = 1;
public Protos.DomainInfo.Builder mergeFaultDomain(Protos.DomainInfo.FaultDomain value)
optional .mesos.DomainInfo.FaultDomain fault_domain = 1;
public Protos.DomainInfo.Builder clearFaultDomain()
optional .mesos.DomainInfo.FaultDomain fault_domain = 1;
public Protos.DomainInfo.FaultDomain.Builder getFaultDomainBuilder()
optional .mesos.DomainInfo.FaultDomain fault_domain = 1;
public Protos.DomainInfo.FaultDomainOrBuilder getFaultDomainOrBuilder()
optional .mesos.DomainInfo.FaultDomain fault_domain = 1;
getFaultDomainOrBuilder
in interface Protos.DomainInfoOrBuilder
public final Protos.DomainInfo.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
public final Protos.DomainInfo.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)