Class: Google::Apis::BigtableadminV2::MultiClusterRoutingUseAny
- Inherits:
-
Object
- Object
- Google::Apis::BigtableadminV2::MultiClusterRoutingUseAny
- 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
-
#cluster_ids ⇒ Array<String>
The set of clusters to route to.
-
#row_affinity ⇒ Google::Apis::BigtableadminV2::RowAffinity
If enabled, Bigtable will route the request based on the row key of the request, rather than randomly.
Instance Method Summary collapse
-
#initialize(**args) ⇒ MultiClusterRoutingUseAny
constructor
A new instance of MultiClusterRoutingUseAny.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ MultiClusterRoutingUseAny
Returns a new instance of MultiClusterRoutingUseAny.
3435 3436 3437 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3435 def initialize(**args) update!(**args) end |
Instance Attribute Details
#cluster_ids ⇒ Array<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
3420 3421 3422 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3420 def cluster_ids @cluster_ids end |
#row_affinity ⇒ Google::Apis::BigtableadminV2::RowAffinity
If enabled, Bigtable 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 use a cluster group to specify which clusters are to be used. In
this case, new clusters that are not a part of the cluster group will not be
routed to, and routing will be unaffected by the new cluster. Moreover,
clusters specified in the cluster group cannot be deleted unless removed from
the cluster group.
Corresponds to the JSON property rowAffinity
3433 3434 3435 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3433 def row_affinity @row_affinity end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3440 3441 3442 3443 |
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 3440 def update!(**args) @cluster_ids = args[:cluster_ids] if args.key?(:cluster_ids) @row_affinity = args[:row_affinity] if args.key?(:row_affinity) end |