Class: Google::Apis::BigtableadminV2::MultiClusterRoutingUseAny

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/bigtableadmin_v2/classes.rb,
lib/google/apis/bigtableadmin_v2/representations.rb,
lib/google/apis/bigtableadmin_v2/representations.rb

Overview

Read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ MultiClusterRoutingUseAny

Returns a new instance of MultiClusterRoutingUseAny.



2748
2749
2750
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2748

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#cluster_idsArray<String>

The set of clusters to route to. The order is ignored; clusters will be tried in order of distance. If left empty, all clusters are eligible. Corresponds to the JSON property clusterIds

Returns:

  • (Array<String>)


2737
2738
2739
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2737

def cluster_ids
  @cluster_ids
end

#row_affinityGoogle::Apis::BigtableadminV2::RowAffinity

If enabled, the AFE will route the request based on the row key of the request, rather than randomly. Instead, each row key will be assigned to a cluster, and will stick to that cluster. If clusters are added or removed, then this may affect which row keys stick to which clusters. To avoid this, users can specify a group cluster. Corresponds to the JSON property rowAffinity



2746
2747
2748
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2746

def row_affinity
  @row_affinity
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2753
2754
2755
2756
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 2753

def update!(**args)
  @cluster_ids = args[:cluster_ids] if args.key?(:cluster_ids)
  @row_affinity = args[:row_affinity] if args.key?(:row_affinity)
end