class Google::Cloud::Bigtable::RoutingPolicy
An abstract routing policy.
See subclasses for concrete implementations:
-
{Google::Cloud::Bigtable::MultiClusterRoutingUseAny} - Read/write requests may be routed to any cluster in the instance and will fail over to another cluster in the event of transient errors or delays. Choosing this option sacrifices read-your-writes consistency to improve availability.
-
{Google::Cloud::Bigtable::SingleClusterRouting} - Unconditionally routes all read/write requests to a specific cluster. This option preserves read-your-writes consistency but does not improve availability. Value contains `cluster_id` and optional field `allow_transactional_writes`.
@example Create an app profile with a single cluster routing policy.
require "google/cloud/bigtable" bigtable = Google::Cloud::Bigtable.new instance = bigtable.instance "my-instance" routing_policy = Google::Cloud::Bigtable::AppProfile.single_cluster_routing( "my-cluster", allow_transactional_writes: true ) app_profile = instance.create_app_profile( "my-app-profile", routing_policy, description: "App profile for user data instance" ) puts app_profile.routing_policy
@example Create an app profile with multi-cluster routing policy.
require "google/cloud/bigtable" bigtable = Google::Cloud::Bigtable.new instance = bigtable.instance "my-instance" routing_policy = Google::Cloud::Bigtable::AppProfile.multi_cluster_routing app_profile = instance.create_app_profile( "my-app-profile", routing_policy, description: "App profile for user data instance" ) puts app_profile.routing_policy